iText 8.0.2 API
iText.Kernel.XMP.Impl.XMPMetaImpl Class Reference

Implementation for iText.Kernel.XMP.XMPMeta More...

Inheritance diagram for iText.Kernel.XMP.Impl.XMPMetaImpl:
iText.Kernel.XMP.XMPConst iText.Kernel.XMP.XMPMeta

Public Member Functions

  XMPMetaImpl ()
  Constructor for an empty metadata object. More...
 
  XMPMetaImpl (XMPNode tree)
  Constructor for a cloned metadata tree. More...
 
virtual void  AppendArrayItem (String schemaNS, String arrayName, PropertyOptions arrayOptions, String itemValue, PropertyOptions itemOptions)
  Simplifies the construction of an array by not requiring that you pre-create an empty array. More...
 
virtual void  AppendArrayItem (String schemaNS, String arrayName, String itemValue)
 
virtual int  CountArrayItems (String schemaNS, String arrayName)
  Returns the number of items in the array. More...
 
virtual void  DeleteArrayItem (String schemaNS, String arrayName, int itemIndex)
  Deletes the given XMP subtree rooted at the given array item. More...
 
virtual void  DeleteProperty (String schemaNS, String propName)
  Deletes the given XMP subtree rooted at the given property. More...
 
virtual void  DeleteQualifier (String schemaNS, String propName, String qualNS, String qualName)
  Deletes the given XMP subtree rooted at the given qualifier. More...
 
virtual void  DeleteStructField (String schemaNS, String structName, String fieldNS, String fieldName)
  Deletes the given XMP subtree rooted at the given struct field. More...
 
virtual bool  DoesPropertyExist (String schemaNS, String propName)
  Returns whether the property exists. More...
 
virtual bool  DoesArrayItemExist (String schemaNS, String arrayName, int itemIndex)
  Tells if the array item exists. More...
 
virtual bool  DoesStructFieldExist (String schemaNS, String structName, String fieldNS, String fieldName)
  DoesStructFieldExist tells if the struct field exists. More...
 
virtual bool  DoesQualifierExist (String schemaNS, String propName, String qualNS, String qualName)
  DoesQualifierExist tells if the qualifier exists. More...
 
virtual XMPProperty  GetArrayItem (String schemaNS, String arrayName, int itemIndex)
  Provides access to items within an array. More...
 
virtual XMPProperty  GetLocalizedText (String schemaNS, String altTextName, String genericLang, String specificLang)
  These functions provide convenient support for localized text properties, including a number of special and obscure aspects. More...
 
virtual void  SetLocalizedText (String schemaNS, String altTextName, String genericLang, String specificLang, String itemValue, PropertyOptions options)
  Modifies the value of a selected item in an alt-text array. More...
 
virtual void  SetLocalizedText (String schemaNS, String altTextName, String genericLang, String specificLang, String itemValue)
 
virtual XMPProperty  GetProperty (String schemaNS, String propName)
  The property value getter-methods all take a property specification: the first two parameters are always the top level namespace URI (the "schema" namespace) and the basic name of the property being referenced. More...
 
virtual ? bool  GetPropertyBoolean (String schemaNS, String propName)
  These are very similar to getProperty() and SetProperty() above, but the value is returned or provided in a literal form instead of as a UTF-8 string. More...
 
virtual void  SetPropertyBoolean (String schemaNS, String propName, bool propValue, PropertyOptions options)
  Convenience method to set a property to a literal boolean value. More...
 
virtual void  SetPropertyBoolean (String schemaNS, String propName, bool propValue)
 
virtual ? int  GetPropertyInteger (String schemaNS, String propName)
  Convenience method to retrieve the literal value of a property. More...
 
virtual void  SetPropertyInteger (String schemaNS, String propName, int propValue, PropertyOptions options)
  Convenience method to set a property to a literal int value. More...
 
virtual void  SetPropertyInteger (String schemaNS, String propName, int propValue)
 
virtual ? long  GetPropertyLong (String schemaNS, String propName)
  Convenience method to retrieve the literal value of a property. More...
 
virtual void  SetPropertyLong (String schemaNS, String propName, long propValue, PropertyOptions options)
  Convenience method to set a property to a literal long value. More...
 
virtual void  SetPropertyLong (String schemaNS, String propName, long propValue)
 
virtual ? double  GetPropertyDouble (String schemaNS, String propName)
  Convenience method to retrieve the literal value of a property. More...
 
virtual void  SetPropertyDouble (String schemaNS, String propName, double propValue, PropertyOptions options)
  Convenience method to set a property to a literal double value. More...
 
virtual void  SetPropertyDouble (String schemaNS, String propName, double propValue)
 
virtual XMPDateTime  GetPropertyDate (String schemaNS, String propName)
  Convenience method to retrieve the literal value of a property. More...
 
virtual void  SetPropertyDate (String schemaNS, String propName, XMPDateTime propValue, PropertyOptions options)
  Convenience method to set a property with an XMPDateTime-object, which is serialized to an ISO8601 date. More...
 
virtual void  SetPropertyDate (String schemaNS, String propName, XMPDateTime propValue)
 
virtual DateTime  GetPropertyCalendar (String schemaNS, String propName)
  Convenience method to retrieve the literal value of a property. More...
 
virtual void  SetPropertyCalendar (String schemaNS, String propName, DateTime propValue, PropertyOptions options)
  Convenience method to set a property with a Java Calendar-object, which is serialized to an ISO8601 date. More...
 
virtual void  SetPropertyCalendar (String schemaNS, String propName, DateTime propValue)
 
virtual byte[]  GetPropertyBase64 (String schemaNS, String propName)
  Convenience method to retrieve the literal value of a property. More...
 
virtual String  GetPropertyString (String schemaNS, String propName)
  Convenience method to retrieve the literal value of a property. More...
 
virtual void  SetPropertyBase64 (String schemaNS, String propName, byte[] propValue, PropertyOptions options)
  Convenience method to set a property from a binary byte[]-array, which is serialized as base64-string. More...
 
virtual void  SetPropertyBase64 (String schemaNS, String propName, byte[] propValue)
 
virtual XMPProperty  GetQualifier (String schemaNS, String propName, String qualNS, String qualName)
  Provides access to a qualifier attached to a property. More...
 
virtual XMPProperty  GetStructField (String schemaNS, String structName, String fieldNS, String fieldName)
  Provides access to fields within a nested structure. More...
 
virtual XMPIterator  Iterator ()
  Constructs an iterator for the properties within this XMP object. More...
 
virtual XMPIterator  Iterator (IteratorOptions options)
  Constructs an iterator for the properties within this XMP object using some options. More...
 
virtual XMPIterator  Iterator (String schemaNS, String propName, IteratorOptions options)
  Construct an iterator for the properties within an XMP object. More...
 
virtual void  SetArrayItem (String schemaNS, String arrayName, int itemIndex, String itemValue, PropertyOptions options)
  Replaces an item within an array. More...
 
virtual void  SetArrayItem (String schemaNS, String arrayName, int itemIndex, String itemValue)
 
virtual void  InsertArrayItem (String schemaNS, String arrayName, int itemIndex, String itemValue, PropertyOptions options)
  Inserts an item into an array previous to the given index. More...
 
virtual void  InsertArrayItem (String schemaNS, String arrayName, int itemIndex, String itemValue)
 
virtual void  SetProperty (String schemaNS, String propName, Object propValue, PropertyOptions options)
  The property value setters all take a property specification, their differences are in the form of this. More...
 
virtual void  SetProperty (String schemaNS, String propName, Object propValue)
 
virtual void  SetQualifier (String schemaNS, String propName, String qualNS, String qualName, String qualValue, PropertyOptions options)
  Provides access to a qualifier attached to a property. More...
 
virtual void  SetQualifier (String schemaNS, String propName, String qualNS, String qualName, String qualValue)
 
virtual void  SetStructField (String schemaNS, String structName, String fieldNS, String fieldName, String fieldValue, PropertyOptions options)
  Provides access to fields within a nested structure. More...
 
virtual void  SetStructField (String schemaNS, String structName, String fieldNS, String fieldName, String fieldValue)
 
virtual String  GetObjectName ()
  This correlates to the about-attribute, returns the empty String if no name is set. More...
 
virtual void  SetObjectName (String name)
 
Parameters
name Sets the name of the XMP object.

 
virtual String  GetPacketHeader ()
 
virtual void  SetPacketHeader (String packetHeader)
  Sets the packetHeader attributes, only used by the parser. More...
 
virtual Object  Clone ()
  Performs a deep clone of the XMPMeta-object More...
 
virtual String  DumpObject ()
  Renders this node and the tree unter this node in a human readable form. More...
 
virtual void  Sort ()
  Sorts the complete datamodel according to the following rules:

  • Schema nodes are sorted by prefix.
More...
 
virtual void  Normalize (ParseOptions options)
  Perform the normalization as a separate parsing step. More...
 
virtual XMPNode  GetRoot ()
 
Returns
Returns the root node of the XMP tree.

 

Additional Inherited Members

- Static Public Attributes inherited from iText.Kernel.XMP.XMPConst
const String  NS_XML = "http://www.w3.org/XML/1998/namespace"
  The XML namespace for XML. More...
 
const String  NS_RDF = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  The XML namespace for RDF. More...
 
const String  NS_DC = "http://purl.org/dc/elements/1.1/"
  The XML namespace for the Dublin Core schema. More...
 
const String  NS_IPTCCORE = "http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/"
  The XML namespace for the IPTC Core schema. More...
 
const String  NS_IPTCEXT = "http://iptc.org/std/Iptc4xmpExt/2008-02-29/"
  The XML namespace for the IPTC Extension schema. More...
 
const String  NS_DICOM = "http://ns.adobe.com/DICOM/"
  The XML namespace for the DICOM medical schema. More...
 
const String  NS_PLUS = "http://ns.useplus.org/ldf/xmp/1.0/"
  The XML namespace for the PLUS (Picture Licensing Universal System, http://www.useplus.org) More...
 
const String  NS_X = "adobe:ns:meta/"
  The XML namespace Adobe XMP Metadata. More...
 
const String  NS_IX = "http://ns.adobe.com/iX/1.0/"
 
const String  NS_XMP = "http://ns.adobe.com/xap/1.0/"
  The XML namespace for the XMP "basic" schema. More...
 
const String  NS_XMP_RIGHTS = "http://ns.adobe.com/xap/1.0/rights/"
  The XML namespace for the XMP copyright schema. More...
 
const String  NS_XMP_MM = "http://ns.adobe.com/xap/1.0/mm/"
  The XML namespace for the XMP digital asset management schema. More...
 
const String  NS_XMP_BJ = "http://ns.adobe.com/xap/1.0/bj/"
  The XML namespace for the job management schema. More...
 
const String  NS_XMP_NOTE = "http://ns.adobe.com/xmp/note/"
  The XML namespace for the job management schema. More...
 
const String  NS_PDF = "http://ns.adobe.com/pdf/1.3/"
  The XML namespace for the PDF schema. More...
 
const String  NS_PDFX = "http://ns.adobe.com/pdfx/1.3/"
  The XML namespace for the PDF schema. More...
 
const String  NS_PDFX_ID = "http://www.npes.org/pdfx/ns/id/"
 
const String  NS_PDFA_SCHEMA = "http://www.aiim.org/pdfa/ns/schema#"
 
const String  NS_PDFA_PROPERTY = "http://www.aiim.org/pdfa/ns/property#"
 
const String  NS_PDFA_TYPE = "http://www.aiim.org/pdfa/ns/type#"
 
const String  NS_PDFA_FIELD = "http://www.aiim.org/pdfa/ns/field#"
 
const String  NS_PDFA_ID = "http://www.aiim.org/pdfa/ns/id/"
 
const String  NS_PDFUA_ID = "http://www.aiim.org/pdfua/ns/id/"
 
const String  NS_PDFA_EXTENSION = "http://www.aiim.org/pdfa/ns/extension/"
 
const String  NS_PHOTOSHOP = "http://ns.adobe.com/photoshop/1.0/"
  The XML namespace for the Photoshop custom schema. More...
 
const String  NS_PSALBUM = "http://ns.adobe.com/album/1.0/"
  The XML namespace for the Photoshop Album schema. More...
 
const String  NS_EXIF = "http://ns.adobe.com/exif/1.0/"
  The XML namespace for Adobe's EXIF schema. More...
 
const String  NS_EXIFX = "http://cipa.jp/exif/1.0/"
  NS for the CIPA XMP for Exif document v1.1 More...
 
const String  NS_EXIF_AUX = "http://ns.adobe.com/exif/1.0/aux/"
 
const String  NS_TIFF = "http://ns.adobe.com/tiff/1.0/"
  The XML namespace for Adobe's TIFF schema. More...
 
const String  NS_PNG = "http://ns.adobe.com/png/1.0/"
 
const String  NS_JPEG = "http://ns.adobe.com/jpeg/1.0/"
 
const String  NS_JP2K = "http://ns.adobe.com/jp2k/1.0/"
 
const String  NS_CAMERARAW = "http://ns.adobe.com/camera-raw-settings/1.0/"
 
const String  NS_ADOBESTOCKPHOTO = "http://ns.adobe.com/StockPhoto/1.0/"
 
const String  NS_CREATOR_ATOM = "http://ns.adobe.com/creatorAtom/1.0/"
 
const String  NS_ASF = "http://ns.adobe.com/asf/1.0/"
 
const String  NS_WAV = "http://ns.adobe.com/xmp/wav/1.0/"
 
const String  NS_BWF = "http://ns.adobe.com/bwf/bext/1.0/"
  BExt Schema More...
 
const String  NS_RIFFINFO = "http://ns.adobe.com/riff/info/"
  RIFF Info Schema More...
 
const String  NS_SCRIPT = "http://ns.adobe.com/xmp/1.0/Script/"
 
const String  NS_TXMP = "http://ns.adobe.com/TransformXMP/"
  Transform XMP More...
 
const String  NS_SWF = "http://ns.adobe.com/swf/1.0/"
  Adobe Flash SWF More...
 
const String  NS_DM = "http://ns.adobe.com/xmp/1.0/DynamicMedia/"
 
const String  NS_TRANSIENT = "http://ns.adobe.com/xmp/transient/1.0/"
 
const String  NS_DC_DEPRECATED = "http://purl.org/dc/1.1/"
  legacy Dublin Core NS, will be converted to NS_DC More...
 
const String  TYPE_IDENTIFIERQUAL = "http://ns.adobe.com/xmp/Identifier/qual/1.0/"
  The XML namespace for qualifiers of the xmp:Identifier property. More...
 
const String  TYPE_DIMENSIONS = "http://ns.adobe.com/xap/1.0/sType/Dimensions#"
  The XML namespace for fields of the Dimensions type. More...
 
const String  TYPE_TEXT = "http://ns.adobe.com/xap/1.0/t/"
 
const String  TYPE_PAGEDFILE = "http://ns.adobe.com/xap/1.0/t/pg/"
 
const String  TYPE_GRAPHICS = "http://ns.adobe.com/xap/1.0/g/"
 
const String  TYPE_IMAGE = "http://ns.adobe.com/xap/1.0/g/img/"
  The XML namespace for fields of a graphical image. More...
 
const String  TYPE_FONT = "http://ns.adobe.com/xap/1.0/sType/Font#"
 
const String  TYPE_RESOURCEEVENT = "http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"
  The XML namespace for fields of the ResourceEvent type. More...
 
const String  TYPE_RESOURCEREF = "http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
  The XML namespace for fields of the ResourceRef type. More...
 
const String  TYPE_ST_VERSION = "http://ns.adobe.com/xap/1.0/sType/Version#"
  The XML namespace for fields of the Version type. More...
 
const String  TYPE_ST_JOB = "http://ns.adobe.com/xap/1.0/sType/Job#"
  The XML namespace for fields of the JobRef type. More...
 
const String  TYPE_MANIFESTITEM = "http://ns.adobe.com/xap/1.0/sType/ManifestItem#"
 
const String  TRUESTR = "True"
  The canonical true string value for Booleans in serialized XMP. More...
 
const String  FALSESTR = "False"
  The canonical false string value for Booleans in serialized XMP. More...
 
const int  ARRAY_LAST_ITEM = -1
  Index that has the meaning to be always the last item in an array. More...
 
const String  ARRAY_ITEM_NAME = "[]"
  Node name of an array item. More...
 
const String  X_DEFAULT = "x-default"
  The x-default string for localized properties More...
 
const String  XML_LANG = "xml:lang"
  xml:lang qualfifier More...
 
const String  RDF_TYPE = "rdf:type"
  rdf:type qualfifier More...
 
const String  XMP_PI = "xpacket"
  Processing Instruction (PI) for xmp packet More...
 
const String  TAG_XMPMETA = "xmpmeta"
  XMP meta tag version new More...
 
const String  TAG_XAPMETA = "xapmeta"
  XMP meta tag version old More...
 
const String  PART = "part"
  Part, 1, 2, or 3 More...
 
const String  REV = "rev"
  ISO 19005 revision More...
 
const String  CONFORMANCE = "conformance"
  Conformance, A, B, or U. More...
 
const String  HISTORY = "History"
  History More...
 

Detailed Description

Implementation for iText.Kernel.XMP.XMPMeta

17.02.2006

Constructor & Destructor Documentation

◆ XMPMetaImpl() [1/2]

iText.Kernel.XMP.Impl.XMPMetaImpl.XMPMetaImpl ( )
inline

Constructor for an empty metadata object.

◆ XMPMetaImpl() [2/2]

iText.Kernel.XMP.Impl.XMPMetaImpl.XMPMetaImpl ( XMPNode  tree )
inline

Constructor for a cloned metadata tree.

Parameters
tree an prefilled metadata tree which fulfills all
XMPNode
contracts.

Member Function Documentation

◆ AppendArrayItem() [1/2]

virtual void iText.Kernel.XMP.Impl.XMPMetaImpl.AppendArrayItem ( String  schemaNS,
String  arrayName,
PropertyOptions  arrayOptions,
String  itemValue,
PropertyOptions  itemOptions 
)
inlinevirtual

Simplifies the construction of an array by not requiring that you pre-create an empty array.

Simplifies the construction of an array by not requiring that you pre-create an empty array. The array that is assigned is created automatically if it does not yet exist. Each call to appendArrayItem() appends an item to the array. The corresponding parameters have the same use as setArrayItem(). The arrayOptions parameter is used to specify what kind of array. If the array exists, it must have the specified form.

Parameters
schemaNS The namespace URI for the array. Has the same usage as in getProperty.
arrayName The name of the array. May be a general path expression, must not be null or the empty string. Has the same namespace prefix usage as propPath in getProperty.
arrayOptions Option flags describing the array form. The only valid options are
  • iText.Kernel.XMP.Options.PropertyOptions.ARRAY ,
  • iText.Kernel.XMP.Options.PropertyOptions.ARRAY_ORDERED ,
  • iText.Kernel.XMP.Options.PropertyOptions.ARRAY_ALTERNATE or
  • iText.Kernel.XMP.Options.PropertyOptions.ARRAY_ALT_TEXT.
Note: the array options only need to be provided if the array is not already existing, otherwise you can set them to null or use AppendArrayItem(System.String, System.String, System.String).
itemValue the value of the array item. Has the same usage as propValue in getProperty.
itemOptions Option flags describing the item to append ( iText.Kernel.XMP.Options.PropertyOptions )

Implements iText.Kernel.XMP.XMPMeta.

◆ AppendArrayItem() [2/2]

virtual void iText.Kernel.XMP.Impl.XMPMetaImpl.AppendArrayItem ( String  schemaNS,
String  arrayName,
String  itemValue 
)
inlinevirtual
See also
AppendArrayItem(System.String, System.String, iText.Kernel.XMP.Options.PropertyOptions, System.String, iText.Kernel.XMP.Options.PropertyOptions)
Parameters
schemaNS The namespace URI for the array
arrayName The name of the array
itemValue the value of the array item

Implements iText.Kernel.XMP.XMPMeta.

◆ Clone()

virtual Object iText.Kernel.XMP.Impl.XMPMetaImpl.Clone ( )
inlinevirtual

Performs a deep clone of the XMPMeta-object

See also
System.Object.Clone()

Implements iText.Kernel.XMP.XMPMeta.

◆ CountArrayItems()

virtual int iText.Kernel.XMP.Impl.XMPMetaImpl.CountArrayItems ( String  schemaNS,
String  arrayName 
)
inlinevirtual

Returns the number of items in the array.

Parameters
schemaNS The namespace URI for the array. Has the same usage as in getProperty.
arrayName The name of the array. May be a general path expression, must not be null or the empty string. Has the same namespace prefix usage as propName in getProperty().
Returns
Returns the number of items in the array.

Implements iText.Kernel.XMP.XMPMeta.

◆ DeleteArrayItem()

virtual void iText.Kernel.XMP.Impl.XMPMetaImpl.DeleteArrayItem ( String  schemaNS,
String  arrayName,
int  itemIndex 
)
inlinevirtual

Deletes the given XMP subtree rooted at the given array item.

Deletes the given XMP subtree rooted at the given array item. It is not an error if the array item does not exist.

Parameters
schemaNS The namespace URI for the array. Has the same usage as in getProperty.
arrayName The name of the array. May be a general path expression, must not be null or the empty string. Has the same namespace prefix usage as propName in getProperty().
itemIndex The index of the desired item. Arrays in XMP are indexed from 1. The constant XMPConst.ARRAY_LAST_ITEM always refers to the last existing array item.

Implements iText.Kernel.XMP.XMPMeta.

◆ DeleteProperty()

virtual void iText.Kernel.XMP.Impl.XMPMetaImpl.DeleteProperty ( String  schemaNS,
String  propName 
)
inlinevirtual

Deletes the given XMP subtree rooted at the given property.

Deletes the given XMP subtree rooted at the given property. It is not an error if the property does not exist.

Parameters
schemaNS The namespace URI for the property. Has the same usage as in getProperty().
propName The name of the property. Has the same usage as in getProperty.

Implements iText.Kernel.XMP.XMPMeta.

◆ DeleteQualifier()

virtual void iText.Kernel.XMP.Impl.XMPMetaImpl.DeleteQualifier ( String  schemaNS,
String  propName,
String  qualNS,
String  qualName 
)
inlinevirtual

Deletes the given XMP subtree rooted at the given qualifier.

Deletes the given XMP subtree rooted at the given qualifier. It is not an error if the qualifier does not exist.

Parameters
schemaNS The namespace URI for the struct. Has the same usage as in getProperty().
propName The name of the property to which the qualifier is attached. Has the same usage as in getProperty.
qualNS The namespace URI for the qualifier. Has the same URI and prefix usage as the schemaNS parameter.
qualName The name of the qualifier. Must be a single XML name, must not be null or the empty string. Has the same namespace prefix usage as the propName parameter.

Implements iText.Kernel.XMP.XMPMeta.

◆ DeleteStructField()

virtual void iText.Kernel.XMP.Impl.XMPMetaImpl.DeleteStructField ( String  schemaNS,
String  structName,
String  fieldNS,
String  fieldName 
)
inlinevirtual

Deletes the given XMP subtree rooted at the given struct field.

Deletes the given XMP subtree rooted at the given struct field. It is not an error if the field does not exist.

Parameters
schemaNS The namespace URI for the struct. Has the same usage as in getProperty().
structName The name of the struct. May be a general path expression, must not be null or the empty string. Has the same namespace prefix usage as propName in getProperty.
fieldNS The namespace URI for the field. Has the same URI and prefix usage as the schemaNS parameter.
fieldName The name of the field. Must be a single XML name, must not be null or the empty string. Has the same namespace prefix usage as the structName parameter.

Implements iText.Kernel.XMP.XMPMeta.

◆ DoesArrayItemExist()

virtual bool iText.Kernel.XMP.Impl.XMPMetaImpl.DoesArrayItemExist ( String  schemaNS,
String  arrayName,
int  itemIndex 
)
inlinevirtual

Tells if the array item exists.

Parameters
schemaNS The namespace URI for the array. Has the same usage as in getProperty().
arrayName The name of the array. May be a general path expression, must not be null or the empty string. Has the same namespace prefix usage as propName in getProperty().
itemIndex The index of the desired item. Arrays in XMP are indexed from 1. The constant XMPConst.ARRAY_LAST_ITEM always refers to the last existing array item.
Returns
Returns true if the array exists, false otherwise.

Implements iText.Kernel.XMP.XMPMeta.

◆ DoesPropertyExist()

virtual bool iText.Kernel.XMP.Impl.XMPMetaImpl.DoesPropertyExist ( String  schemaNS,
String  propName 
)
inlinevirtual

Returns whether the property exists.

Parameters
schemaNS The namespace URI for the property. Has the same usage as in getProperty().
propName The name of the property. Has the same usage as in getProperty().
Returns
Returns true if the property exists.

Implements iText.Kernel.XMP.XMPMeta.

◆ DoesQualifierExist()

virtual bool iText.Kernel.XMP.Impl.XMPMetaImpl.DoesQualifierExist ( String  schemaNS,
String  propName,
String  qualNS,
String  qualName 
)
inlinevirtual

DoesQualifierExist tells if the qualifier exists.

Parameters
schemaNS The namespace URI for the struct. Has the same usage as in getProperty().
propName The name of the property to which the qualifier is attached. Has the same usage as in getProperty().
qualNS The namespace URI for the qualifier. Has the same URI and prefix usage as the schemaNS parameter.
qualName The name of the qualifier. Must be a single XML name, must not be null or the empty string. Has the same namespace prefix usage as the propName parameter.
Returns
Returns true if the qualifier exists.

Implements iText.Kernel.XMP.XMPMeta.

◆ DoesStructFieldExist()

virtual bool iText.Kernel.XMP.Impl.XMPMetaImpl.DoesStructFieldExist ( String  schemaNS,
String  structName,
String  fieldNS,
String  fieldName 
)
inlinevirtual

DoesStructFieldExist tells if the struct field exists.

Parameters
schemaNS The namespace URI for the struct. Has the same usage as in getProperty().
structName The name of the struct. May be a general path expression, must not be null or the empty string. Has the same namespace prefix usage as propName in getProperty().
fieldNS The namespace URI for the field. Has the same URI and prefix usage as the schemaNS parameter.
fieldName The name of the field. Must be a single XML name, must not be null or the empty string. Has the same namespace prefix usage as the structName parameter.
Returns
Returns true if the field exists.

Implements iText.Kernel.XMP.XMPMeta.

◆ DumpObject()

virtual String iText.Kernel.XMP.Impl.XMPMetaImpl.DumpObject ( )
inlinevirtual

Renders this node and the tree unter this node in a human readable form.

Returns
Returns a multiline string containing the dump.

Implements iText.Kernel.XMP.XMPMeta.

◆ GetArrayItem()

virtual XMPProperty iText.Kernel.XMP.Impl.XMPMetaImpl.GetArrayItem ( String  schemaNS,
String  arrayName,
int  itemIndex 
)
inlinevirtual

Provides access to items within an array.

Provides access to items within an array. The index is passed as an integer, you need not worry about the path string syntax for array items, convert a loop index to a string, etc.

Parameters
schemaNS The namespace URI for the array. Has the same usage as in getProperty.
arrayName The name of the array. May be a general path expression, must not be null or the empty string. Has the same namespace prefix usage as propName in getProperty().
itemIndex The index of the desired item. Arrays in XMP are indexed from 1. The constant XMPConst.ARRAY_LAST_ITEM always refers to the last existing array item.
Returns
Returns a XMPProperty containing the value and the options or null if the property does not exist.

Implements iText.Kernel.XMP.XMPMeta.

◆ GetLocalizedText()

virtual XMPProperty iText.Kernel.XMP.Impl.XMPMetaImpl.GetLocalizedText ( String  schemaNS,
String  altTextName,
String  genericLang,
String  specificLang 
)
inlinevirtual

These functions provide convenient support for localized text properties, including a number of special and obscure aspects.

These functions provide convenient support for localized text properties, including a number of special and obscure aspects. Localized text properties are stored in alt-text arrays. They allow multiple concurrent localizations of a property value, for example a document title or copyright in several languages. The most important aspect of these functions is that they select an appropriate array item based on one or two RFC 3066 language tags. One of these languages, the "specific" language, is preferred and selected if there is an exact match. For many languages it is also possible to define a "generic" language that may be used if there is no specific language match. The generic language must be a valid RFC 3066 primary subtag, or the empty string. For example, a specific language of "en-US" should be used in the US, and a specific language of "en-UK" should be used in England. It is also appropriate to use "en" as the generic language in each case. If a US document goes to England, the "en-US" title is selected by using the "en" generic language and the "en-UK" specific language. It is considered poor practice, but allowed, to pass a specific language that is just an RFC 3066 primary tag. For example "en" is not a good specific language, it should only be used as a generic language. Passing "i" or "x" as the generic language is also considered poor practice but allowed. Advice from the W3C about the use of RFC 3066 language tags can be found at: http://www.w3.org/International/articles/language-tags/

Note: RFC 3066 language tags must be treated in a case insensitive manner. The XMP Toolkit does this by normalizing their capitalization:

  • The primary subtag is lower case, the suggested practice of ISO 639.
  • All 2 letter secondary subtags are upper case, the suggested practice of ISO 3166.
  • All other subtags are lower case. The XMP specification defines an artificial language,
  • "x-default", that is used to explicitly denote a default item in an alt-text array.

The XMP toolkit normalizes alt-text arrays such that the x-default item is the first item. The SetLocalizedText function has several special features related to the x-default item, see its description for details. The selection of the array item is the same for GetLocalizedText and SetLocalizedText:

  • Look for an exact match with the specific language.
  • If a generic language is given, look for a partial match.
  • Look for an x-default item.
  • Choose the first item.

A partial match with the generic language is where the start of the item's language matches the generic string and the next character is '-'. An exact match is also recognized as a degenerate case. It is fine to pass x-default as the specific language. In this case, selection of an x-default item is an exact match by the first rule, not a selection by the 3rd rule. The last 2 rules are fallbacks used when the specific and generic languages fail to produce a match. getLocalizedText returns information about a selected item in an alt-text array. The array item is selected according to the rules given above. Note: In a future version of this API a method using Java java.lang.Locale will be added.

Parameters
schemaNS The namespace URI for the alt-text array. Has the same usage as in getProperty().
altTextName The name of the alt-text array. May be a general path expression, must not be null or the empty string. Has the same namespace prefix usage as propName in getProperty().
genericLang The name of the generic language as an RFC 3066 primary subtag. May be null or the empty string if no generic language is wanted.
specificLang The name of the specific language as an RFC 3066 tag. Must not be null or the empty string.
Returns
Returns an XMPProperty containing the value, the actual language and the options if an appropriate alternate collection item exists, null if the property. does not exist.

Implements iText.Kernel.XMP.XMPMeta.

◆ GetObjectName()

virtual String iText.Kernel.XMP.Impl.XMPMetaImpl.GetObjectName ( )
inlinevirtual

This correlates to the about-attribute, returns the empty String if no name is set.

Returns
Returns the name of the XMP object.

Implements iText.Kernel.XMP.XMPMeta.

◆ GetPacketHeader()

virtual String iText.Kernel.XMP.Impl.XMPMetaImpl.GetPacketHeader ( )
inlinevirtual
Returns
Returns the unparsed content of the processing instruction. This contains normally the attribute-like elements 'begin="" id="W5M0MpCehiHzreSzNTczkc9d"' and possibly the deprecated elements 'bytes="1234"' or 'encoding="XXX"'. If the parsed packet has not been wrapped into an xpacket, null is returned.

Implements iText.Kernel.XMP.XMPMeta.

◆ GetProperty()

virtual XMPProperty iText.Kernel.XMP.Impl.XMPMetaImpl.GetProperty ( String  schemaNS,
String  propName 
)
inlinevirtual

The property value getter-methods all take a property specification: the first two parameters are always the top level namespace URI (the "schema" namespace) and the basic name of the property being referenced.

The property value getter-methods all take a property specification: the first two parameters are always the top level namespace URI (the "schema" namespace) and the basic name of the property being referenced. See the introductory discussion of path expression usage for more information.

All of the functions return an object inherited from PropertyBase or null if the property does not exists. The result object contains the value of the property and option flags describing the property. Arrays and the non-leaf levels of nodes do not have values.

See iText.Kernel.XMP.Options.PropertyOptions for detailed information about the options.

This is the simplest property getter, mainly for top level simple properties or after using the path composition functions in XMPPathFactory.

Parameters
schemaNS The namespace URI for the property. May be null or the empty string if the first component of the propName path contains a namespace prefix. The URI must be for a registered namespace.
propName The name of the property. May be a general path expression, must not be null or the empty string. Using a namespace prefix on the first component is optional. If present without a schemaNS value then the prefix specifies the namespace. The prefix must be for a registered namespace. If both a schemaNS URI and propName prefix are present, they must be corresponding parts of a registered namespace.
Returns
Returns a XMPProperty containing the value and the options or null if the property does not exist.

Implements iText.Kernel.XMP.XMPMeta.

◆ GetPropertyBase64()

virtual byte [] iText.Kernel.XMP.Impl.XMPMetaImpl.GetPropertyBase64 ( String  schemaNS,
String  propName 
)
inlinevirtual

Convenience method to retrieve the literal value of a property.

Parameters
schemaNS The namespace URI for the property. Has the same usage as in getProperty().
propName The name of the property. Has the same usage as in getProperty().
Returns
Returns a byte[]-array contained the decoded base64 value or null if the property does not exist.

Implements iText.Kernel.XMP.XMPMeta.

◆ GetPropertyBoolean()

virtual ? bool iText.Kernel.XMP.Impl.XMPMetaImpl.GetPropertyBoolean ( String  schemaNS,
String  propName 
)
inlinevirtual

These are very similar to getProperty() and SetProperty() above, but the value is returned or provided in a literal form instead of as a UTF-8 string.

These are very similar to getProperty() and SetProperty() above, but the value is returned or provided in a literal form instead of as a UTF-8 string. The path composition functions in XMPPathFactory may be used to compose an path expression for fields in nested structures, items in arrays, or qualifiers.

Parameters
schemaNS The namespace URI for the property. Has the same usage as in getProperty().
propName The name of the property. Has the same usage as in getProperty().
Returns
Returns a Boolean value or null if the property does not exist.

Implements iText.Kernel.XMP.XMPMeta.

◆ GetPropertyCalendar()

virtual DateTime iText.Kernel.XMP.Impl.XMPMetaImpl.GetPropertyCalendar ( String  schemaNS,
String  propName 
)
inlinevirtual

Convenience method to retrieve the literal value of a property.

Parameters
schemaNS The namespace URI for the property. Has the same usage as in getProperty().
propName The name of the property. Has the same usage as in getProperty().
Returns
Returns a Java Calendar-object or null if the property does not exist.

Implements iText.Kernel.XMP.XMPMeta.

◆ GetPropertyDate()

virtual XMPDateTime iText.Kernel.XMP.Impl.XMPMetaImpl.GetPropertyDate ( String  schemaNS,
String  propName 
)
inlinevirtual

Convenience method to retrieve the literal value of a property.

Parameters
schemaNS The namespace URI for the property. Has the same usage as in getProperty().
propName The name of the property. Has the same usage as in getProperty().
Returns
Returns a XMPDateTime-object or null if the property does not exist.

Implements iText.Kernel.XMP.XMPMeta.

◆ GetPropertyDouble()

virtual ? double iText.Kernel.XMP.Impl.XMPMetaImpl.GetPropertyDouble ( String  schemaNS,
String  propName 
)
inlinevirtual

Convenience method to retrieve the literal value of a property.

Parameters
schemaNS The namespace URI for the property. Has the same usage as in getProperty().
propName The name of the property. Has the same usage as in getProperty().
Returns
Returns a Double value or null if the property does not exist.

Implements iText.Kernel.XMP.XMPMeta.

◆ GetPropertyInteger()

virtual ? int iText.Kernel.XMP.Impl.XMPMetaImpl.GetPropertyInteger ( String  schemaNS,
String  propName 
)
inlinevirtual

Convenience method to retrieve the literal value of a property.

Parameters
schemaNS The namespace URI for the property. Has the same usage as in getProperty().
propName The name of the property. Has the same usage as in getProperty().
Returns
Returns an Integer value or null if the property does not exist.

Implements iText.Kernel.XMP.XMPMeta.

◆ GetPropertyLong()

virtual ? long iText.Kernel.XMP.Impl.XMPMetaImpl.GetPropertyLong ( String  schemaNS,
String  propName 
)
inlinevirtual

Convenience method to retrieve the literal value of a property.

Parameters
schemaNS The namespace URI for the property. Has the same usage as in getProperty().
propName The name of the property. Has the same usage as in getProperty().
Returns
Returns a Long value or null if the property does not exist.

Implements iText.Kernel.XMP.XMPMeta.

◆ GetPropertyString()

virtual String iText.Kernel.XMP.Impl.XMPMetaImpl.GetPropertyString ( String  schemaNS,
String  propName 
)
inlinevirtual

Convenience method to retrieve the literal value of a property.

Convenience method to retrieve the literal value of a property. Note: There is no setPropertyString(), because setProperty() sets a string value.

Parameters
schemaNS The namespace URI for the property. Has the same usage as in getProperty().
propName The name of the property. Has the same usage as in getProperty().
Returns
Returns a String value or null if the property does not exist.

Implements iText.Kernel.XMP.XMPMeta.

◆ GetQualifier()

virtual XMPProperty iText.Kernel.XMP.Impl.XMPMetaImpl.GetQualifier ( String  schemaNS,
String  propName,
String  qualNS,
String  qualName 
)
inlinevirtual

Provides access to a qualifier attached to a property.

Provides access to a qualifier attached to a property. The namespace for the qualifier is passed as a URI, you need not worry about the path string syntax. In many regards qualifiers are like struct fields. See the introductory discussion of qualified properties for more information.

The names of qualifiers should be XML qualified names, that is within an XML namespace. The path syntax for a qualified name uses the namespace prefix. This is unreliable since the prefix is never guaranteed. The URI is the formal name, the prefix is just a local shorthand in a given sequence of XML text.

Note: Qualifiers are only supported for simple leaf properties at this time.

Parameters
schemaNS The namespace URI for the struct. Has the same usage as in getProperty.
propName The name of the property to which the qualifier is attached. May be a general path expression, must not be null or the empty string. Has the same namespace prefix usage as in getProperty().
qualNS The namespace URI for the qualifier. Has the same URI and prefix usage as the schemaNS parameter.
qualName The name of the qualifier. Must be a single XML name, must not be null or the empty string. Has the same namespace prefix usage as the propName parameter.
Returns

Returns a XMPProperty containing the value and the options of the qualifier or null if the property does not exist. The name of the qualifier must be a single XML name, must not be null or the empty string. Has the same namespace prefix usage as the propName parameter.

The value of the qualifier is only set if it has one (Arrays and non-leaf levels of structs do not have values).

Implements iText.Kernel.XMP.XMPMeta.

◆ GetStructField()

virtual XMPProperty iText.Kernel.XMP.Impl.XMPMetaImpl.GetStructField ( String  schemaNS,
String  structName,
String  fieldNS,
String  fieldName 
)
inlinevirtual

Provides access to fields within a nested structure.

Provides access to fields within a nested structure. The namespace for the field is passed as a URI, you need not worry about the path string syntax.

The names of fields should be XML qualified names, that is within an XML namespace. The path syntax for a qualified name uses the namespace prefix. This is unreliable since the prefix is never guaranteed. The URI is the formal name, the prefix is just a local shorthand in a given sequence of XML text.

Parameters
schemaNS The namespace URI for the struct. Has the same usage as in getProperty.
structName The name of the struct. May be a general path expression, must not be null or the empty string. Has the same namespace prefix usage as propName in getProperty().
fieldNS The namespace URI for the field. Has the same URI and prefix usage as the schemaNS parameter.
fieldName The name of the field. Must be a single XML name, must not be null or the empty string. Has the same namespace prefix usage as the structName parameter.
Returns
Returns a XMPProperty containing the value and the options or null if the property does not exist. Arrays and non-leaf levels of structs do not have values.

Implements iText.Kernel.XMP.XMPMeta.

◆ InsertArrayItem() [1/2]

virtual void iText.Kernel.XMP.Impl.XMPMetaImpl.InsertArrayItem ( String  schemaNS,
String  arrayName,
int  itemIndex,
String  itemValue 
)
inlinevirtual
See also
InsertArrayItem(System.String, System.String, int, System.String, iText.Kernel.XMP.Options.PropertyOptions)
Parameters
schemaNS The namespace URI for the array
arrayName The name of the array
itemIndex The index to insert the new item
itemValue the value of the array item

Implements iText.Kernel.XMP.XMPMeta.

◆ InsertArrayItem() [2/2]

virtual void iText.Kernel.XMP.Impl.XMPMetaImpl.InsertArrayItem ( String  schemaNS,
String  arrayName,
int  itemIndex,
String  itemValue,
PropertyOptions  options 
)
inlinevirtual

Inserts an item into an array previous to the given index.

Inserts an item into an array previous to the given index. The index is passed as an integer, you need not worry about the path string syntax for array items, convert a loop index to a string, etc. The array passed must already exist. In normal usage the selected array item is modified. A new item is automatically appended if the index is the array size plus 1.

Parameters
schemaNS The namespace URI for the array. Has the same usage as in getProperty.
arrayName The name of the array. May be a general path expression, must not be null or the empty string. Has the same namespace prefix usage as propName in getProperty.
itemIndex The index to insert the new item. Arrays in XMP are indexed from 1. Use XMPConst.ARRAY_LAST_ITEM to append items.
itemValue the new value of the array item. Has the same usage as propValue in setProperty().
options the set options that decide about the kind of the node.

Implements iText.Kernel.XMP.XMPMeta.

◆ Iterator() [1/3]

virtual XMPIterator iText.Kernel.XMP.Impl.XMPMetaImpl.Iterator ( )
inlinevirtual

Constructs an iterator for the properties within this XMP object.

Returns
Returns an XMPIterator.
See also
Iterator(System.String, System.String, iText.Kernel.XMP.Options.IteratorOptions)

Implements iText.Kernel.XMP.XMPMeta.

◆ Iterator() [2/3]

virtual XMPIterator iText.Kernel.XMP.Impl.XMPMetaImpl.Iterator ( IteratorOptions  options )
inlinevirtual

Constructs an iterator for the properties within this XMP object using some options.

Parameters
options Option flags to control the iteration.
Returns
Returns an XMPIterator.
See also
Iterator(System.String, System.String, iText.Kernel.XMP.Options.IteratorOptions)

Implements iText.Kernel.XMP.XMPMeta.

◆ Iterator() [3/3]

virtual XMPIterator iText.Kernel.XMP.Impl.XMPMetaImpl.Iterator ( String  schemaNS,
String  propName,
IteratorOptions  options 
)
inlinevirtual

Construct an iterator for the properties within an XMP object.

Construct an iterator for the properties within an XMP object. According to the parameters it iterates the entire data tree, properties within a specific schema, or a subtree rooted at a specific node.

Parameters
schemaNS Optional schema namespace URI to restrict the iteration. Omitted (visit all schema) by passing null or empty String.
propName Optional property name to restrict the iteration. May be an arbitrary path expression. Omitted (visit all properties) by passing null or empty String. If no schema URI is given, it is ignored.
options Option flags to control the iteration. See iText.Kernel.XMP.Options.IteratorOptions for details.
Returns
Returns an XMPIterator for this XMPMeta-object considering the given options.

Implements iText.Kernel.XMP.XMPMeta.

◆ Normalize()

virtual void iText.Kernel.XMP.Impl.XMPMetaImpl.Normalize ( ParseOptions  options )
inlinevirtual

Perform the normalization as a separate parsing step.

Perform the normalization as a separate parsing step. Normally it is done during parsing, unless the parsing option iText.Kernel.XMP.Options.ParseOptions.OMIT_NORMALIZATION is set to true. Note: It does no harm to call this method to an already normalized xmp object. It was a PDF/A requirement to get hand on the unnormalized XMPMeta object.

Parameters
options optional parsing options.

Implements iText.Kernel.XMP.XMPMeta.

◆ SetArrayItem() [1/2]

virtual void iText.Kernel.XMP.Impl.XMPMetaImpl.SetArrayItem ( String  schemaNS,
String  arrayName,
int  itemIndex,
String  itemValue 
)
inlinevirtual
See also
SetArrayItem(System.String, System.String, int, System.String, iText.Kernel.XMP.Options.PropertyOptions)
Parameters
schemaNS The namespace URI
arrayName The name of the array
itemIndex The index to insert the new item
itemValue the new value of the array item

Implements iText.Kernel.XMP.XMPMeta.

◆ SetArrayItem() [2/2]

virtual void iText.Kernel.XMP.Impl.XMPMetaImpl.SetArrayItem ( String  schemaNS,
String  arrayName,
int  itemIndex,
String  itemValue,
PropertyOptions  options 
)
inlinevirtual

Replaces an item within an array.

Replaces an item within an array. The index is passed as an integer, you need not worry about the path string syntax for array items, convert a loop index to a string, etc. The array passed must already exist. In normal usage the selected array item is modified. A new item is automatically appended if the index is the array size plus 1.

Parameters
schemaNS The namespace URI for the array. Has the same usage as in getProperty.
arrayName The name of the array. May be a general path expression, must not be null or the empty string. Has the same namespace prefix usage as propName in getProperty.
itemIndex The index of the desired item. Arrays in XMP are indexed from 1. To address the last existing item, use CountArrayItems(System.String, System.String) to find out the length of the array.
itemValue the new value of the array item. Has the same usage as propValue in setProperty().
options the set options for the item.

Implements iText.Kernel.XMP.XMPMeta.

◆ SetLocalizedText() [1/2]

virtual void iText.Kernel.XMP.Impl.XMPMetaImpl.SetLocalizedText ( String  schemaNS,
String  altTextName,
String  genericLang,
String  specificLang,
String  itemValue 
)
inlinevirtual
See also
SetLocalizedText(System.String, System.String, System.String, System.String, System.String, iText.Kernel.XMP.Options.PropertyOptions)
Parameters
schemaNS The namespace URI for the alt-text array
altTextName The name of the alt-text array
genericLang The name of the generic language
specificLang The name of the specific language
itemValue the new value for the appropriate array item

Implements iText.Kernel.XMP.XMPMeta.

◆ SetLocalizedText() [2/2]

virtual void iText.Kernel.XMP.Impl.XMPMetaImpl.SetLocalizedText ( String  schemaNS,
String  altTextName,
String  genericLang,
String  specificLang,
String  itemValue,
PropertyOptions  options 
)
inlinevirtual

Modifies the value of a selected item in an alt-text array.

Modifies the value of a selected item in an alt-text array. Creates an appropriate array item if necessary, and handles special cases for the x-default item. If the selected item is from a match with the specific language, the value of that item is modified. If the existing value of that item matches the existing value of the x-default item, the x-default item is also modified. If the array only has 1 existing item (which is not x-default), an x-default item is added with the given value. If the selected item is from a match with the generic language and there are no other generic matches, the value of that item is modified. If the existing value of that item matches the existing value of the x-default item, the x-default item is also modified. If the array only has 1 existing item (which is not x-default), an x-default item is added with the given value. If the selected item is from a partial match with the generic language and there are other partial matches, a new item is created for the specific language. The x-default item is not modified. If the selected item is from the last 2 rules then a new item is created for the specific language. If the array only had an x-default item, the x-default item is also modified. If the array was empty, items are created for the specific language and x-default. Note: In a future version of this API a method using Java java.lang.Locale will be added.

Parameters
schemaNS The namespace URI for the alt-text array. Has the same usage as in getProperty().
altTextName The name of the alt-text array. May be a general path expression, must not be null or the empty string. Has the same namespace prefix usage as propName in getProperty().
genericLang The name of the generic language as an RFC 3066 primary subtag. May be null or the empty string if no generic language is wanted.
specificLang The name of the specific language as an RFC 3066 tag. Must not be null or the empty string.
itemValue A pointer to the null terminated UTF-8 string that is the new value for the appropriate array item.
options Option flags, none are defined at present.

Implements iText.Kernel.XMP.XMPMeta.

◆ SetPacketHeader()

virtual void iText.Kernel.XMP.Impl.XMPMetaImpl.SetPacketHeader ( String  packetHeader )
inlinevirtual

Sets the packetHeader attributes, only used by the parser.

Parameters
packetHeader the processing instruction content

◆ SetProperty() [1/2]

virtual void iText.Kernel.XMP.Impl.XMPMetaImpl.SetProperty ( String  schemaNS,
String  propName,
Object  propValue 
)
inlinevirtual
See also
SetProperty(System.String, System.String, System.Object, iText.Kernel.XMP.Options.PropertyOptions)
Parameters
schemaNS The namespace URI
propName The name of the property
propValue the value for the property

Implements iText.Kernel.XMP.XMPMeta.

◆ SetProperty() [2/2]

virtual void iText.Kernel.XMP.Impl.XMPMetaImpl.SetProperty ( String  schemaNS,
String  propName,
Object  propValue,
PropertyOptions  options 
)
inlinevirtual

The property value setters all take a property specification, their differences are in the form of this.

The property value setters all take a property specification, their differences are in the form of this. The first two parameters are always the top level namespace URI (the schema namespace) and the basic name of the property being referenced. See the introductory discussion of path expression usage for more information.

All of the functions take a string value for the property and option flags describing the property. The value must be Unicode in UTF-8 encoding. Arrays and non-leaf levels of structs do not have values. Empty arrays and structs may be created using appropriate option flags. All levels of structs that is assigned implicitly are created if necessary. appendArayItem implicitly creates the named array if necessary.

See iText.Kernel.XMP.Options.PropertyOptions for detailed information about the options.

This is the simplest property setter, mainly for top level simple properties or after using the path composition functions in XMPPathFactory.

Parameters
schemaNS The namespace URI for the property. Has the same usage as in getProperty.
propName The name of the property. Has the same usage as in getProperty().
propValue the value for the property (only leaf properties have a value). Arrays and non-leaf levels of structs do not have values. Must be null if the value is not relevant.
The value is automatically detected: Boolean, Integer, Long, Double, XMPDateTime and byte[] are handled, on all other toString() is called.
options Option flags describing the property. See the earlier description.

Implements iText.Kernel.XMP.XMPMeta.

◆ SetPropertyBase64() [1/2]

virtual void iText.Kernel.XMP.Impl.XMPMetaImpl.SetPropertyBase64 ( String  schemaNS,
String  propName,
byte[]  propValue 
)
inlinevirtual
See also
SetPropertyBase64(System.String, System.String, byte[], iText.Kernel.XMP.Options.PropertyOptions)
Parameters
schemaNS The namespace URI for the property
propName The name of the property
propValue the literal property value as byte array

Implements iText.Kernel.XMP.XMPMeta.

◆ SetPropertyBase64() [2/2]

virtual void iText.Kernel.XMP.Impl.XMPMetaImpl.SetPropertyBase64 ( String  schemaNS,
String  propName,
byte[]  propValue,
PropertyOptions  options 
)
inlinevirtual

Convenience method to set a property from a binary byte[]-array, which is serialized as base64-string.

Parameters
schemaNS The namespace URI for the property. Has the same usage as in setProperty().
propName The name of the property. Has the same usage as in getProperty().
propValue the literal property value as byte array.
options options of the property to set (optional).

Implements iText.Kernel.XMP.XMPMeta.

◆ SetPropertyBoolean() [1/2]

virtual void iText.Kernel.XMP.Impl.XMPMetaImpl.SetPropertyBoolean ( String  schemaNS,
String  propName,
bool  propValue 
)
inlinevirtual
See also
SetPropertyBoolean(System.String, System.String, bool, iText.Kernel.XMP.Options.PropertyOptions)
Parameters
schemaNS The namespace URI for the property
propName The name of the property
propValue the literal property value as boolean

Implements iText.Kernel.XMP.XMPMeta.

◆ SetPropertyBoolean() [2/2]

virtual void iText.Kernel.XMP.Impl.XMPMetaImpl.SetPropertyBoolean ( String  schemaNS,
String  propName,
bool  propValue,
PropertyOptions  options 
)
inlinevirtual

Convenience method to set a property to a literal boolean value.

Parameters
schemaNS The namespace URI for the property. Has the same usage as in setProperty().
propName The name of the property. Has the same usage as in getProperty().
propValue the literal property value as boolean.
options options of the property to set (optional).

Implements iText.Kernel.XMP.XMPMeta.

◆ SetPropertyCalendar() [1/2]

virtual void iText.Kernel.XMP.Impl.XMPMetaImpl.SetPropertyCalendar ( String  schemaNS,
String  propName,
DateTime  propValue 
)
inlinevirtual
See also
SetPropertyCalendar(System.String, System.String, System.DateTime, iText.Kernel.XMP.Options.PropertyOptions)
Parameters
schemaNS The namespace URI for the property
propName The name of the property
propValue the property value as Calendar

Implements iText.Kernel.XMP.XMPMeta.

◆ SetPropertyCalendar() [2/2]

virtual void iText.Kernel.XMP.Impl.XMPMetaImpl.SetPropertyCalendar ( String  schemaNS,
String  propName,
DateTime  propValue,
PropertyOptions  options 
)
inlinevirtual

Convenience method to set a property with a Java Calendar-object, which is serialized to an ISO8601 date.

Parameters
schemaNS The namespace URI for the property. Has the same usage as in setProperty().
propName The name of the property. Has the same usage as in getProperty().
propValue the property value as Java Calendar.
options options of the property to set (optional).

Implements iText.Kernel.XMP.XMPMeta.

◆ SetPropertyDate() [1/2]

virtual void iText.Kernel.XMP.Impl.XMPMetaImpl.SetPropertyDate ( String  schemaNS,
String  propName,
XMPDateTime  propValue 
)
inlinevirtual
See also
SetPropertyDate(System.String, System.String, XMPDateTime, iText.Kernel.XMP.Options.PropertyOptions)
Parameters
schemaNS The namespace URI for the property
propName The name of the property
propValue the property value as XMPDateTime

Implements iText.Kernel.XMP.XMPMeta.

◆ SetPropertyDate() [2/2]

virtual void iText.Kernel.XMP.Impl.XMPMetaImpl.SetPropertyDate ( String  schemaNS,
String  propName,
XMPDateTime  propValue,
PropertyOptions  options 
)
inlinevirtual

Convenience method to set a property with an XMPDateTime-object, which is serialized to an ISO8601 date.

Parameters
schemaNS The namespace URI for the property. Has the same usage as in setProperty().
propName The name of the property. Has the same usage as in getProperty().
propValue the property value as XMPDateTime.
options options of the property to set (optional).

Implements iText.Kernel.XMP.XMPMeta.

◆ SetPropertyDouble() [1/2]

virtual void iText.Kernel.XMP.Impl.XMPMetaImpl.SetPropertyDouble ( String  schemaNS,
String  propName,
double  propValue 
)
inlinevirtual
See also
SetPropertyDouble(System.String, System.String, double, iText.Kernel.XMP.Options.PropertyOptions)
Parameters
schemaNS The namespace URI for the property
propName The name of the property
propValue the literal property value as double

Implements iText.Kernel.XMP.XMPMeta.

◆ SetPropertyDouble() [2/2]

virtual void iText.Kernel.XMP.Impl.XMPMetaImpl.SetPropertyDouble ( String  schemaNS,
String  propName,
double  propValue,
PropertyOptions  options 
)
inlinevirtual

Convenience method to set a property to a literal double value.

Parameters
schemaNS The namespace URI for the property. Has the same usage as in setProperty().
propName The name of the property. Has the same usage as in getProperty().
propValue the literal property value as double.
options options of the property to set (optional).

Implements iText.Kernel.XMP.XMPMeta.

◆ SetPropertyInteger() [1/2]

virtual void iText.Kernel.XMP.Impl.XMPMetaImpl.SetPropertyInteger ( String  schemaNS,
String  propName,
int  propValue 
)
inlinevirtual
See also
SetPropertyInteger(System.String, System.String, int, iText.Kernel.XMP.Options.PropertyOptions)
Parameters
schemaNS The namespace URI for the property
propName The name of the property
propValue the literal property value as int

Implements iText.Kernel.XMP.XMPMeta.

◆ SetPropertyInteger() [2/2]

virtual void iText.Kernel.XMP.Impl.XMPMetaImpl.SetPropertyInteger ( String  schemaNS,
String  propName,
int  propValue,
PropertyOptions  options 
)
inlinevirtual

Convenience method to set a property to a literal int value.

Parameters
schemaNS The namespace URI for the property. Has the same usage as in setProperty().
propName The name of the property. Has the same usage as in getProperty().
propValue the literal property value as int.
options options of the property to set (optional).

Implements iText.Kernel.XMP.XMPMeta.

◆ SetPropertyLong() [1/2]

virtual void iText.Kernel.XMP.Impl.XMPMetaImpl.SetPropertyLong ( String  schemaNS,
String  propName,
long  propValue 
)
inlinevirtual
See also
SetPropertyLong(System.String, System.String, long, iText.Kernel.XMP.Options.PropertyOptions)
Parameters
schemaNS The namespace URI for the property
propName The name of the property
propValue the literal property value as long

Implements iText.Kernel.XMP.XMPMeta.

◆ SetPropertyLong() [2/2]

virtual void iText.Kernel.XMP.Impl.XMPMetaImpl.SetPropertyLong ( String  schemaNS,
String  propName,
long  propValue,
PropertyOptions  options 
)
inlinevirtual

Convenience method to set a property to a literal long value.

Parameters
schemaNS The namespace URI for the property. Has the same usage as in setProperty().
propName The name of the property. Has the same usage as in getProperty().
propValue the literal property value as long.
options options of the property to set (optional).

Implements iText.Kernel.XMP.XMPMeta.

◆ SetQualifier() [1/2]

virtual void iText.Kernel.XMP.Impl.XMPMetaImpl.SetQualifier ( String  schemaNS,
String  propName,
String  qualNS,
String  qualName,
String  qualValue 
)
inlinevirtual
See also
SetQualifier(System.String, System.String, System.String, System.String, System.String, iText.Kernel.XMP.Options.PropertyOptions)
Parameters
schemaNS The namespace URI for the struct
propName The name of the property to which the qualifier is attached
qualNS The namespace URI for the qualifier
qualName The name of the qualifier
qualValue the value of the qualifier

Implements iText.Kernel.XMP.XMPMeta.

◆ SetQualifier() [2/2]

virtual void iText.Kernel.XMP.Impl.XMPMetaImpl.SetQualifier ( String  schemaNS,
String  propName,
String  qualNS,
String  qualName,
String  qualValue,
PropertyOptions  options 
)
inlinevirtual

Provides access to a qualifier attached to a property.

Provides access to a qualifier attached to a property. The namespace for the qualifier is passed as a URI, you need not worry about the path string syntax. In many regards qualifiers are like struct fields. See the introductory discussion of qualified properties for more information. The names of qualifiers should be XML qualified names, that is within an XML namespace. The path syntax for a qualified name uses the namespace prefix, which is unreliable because the prefix is never guaranteed. The URI is the formal name, the prefix is just a local shorthand in a given sequence of XML text. The property the qualifier will be attached has to exist.

Parameters
schemaNS The namespace URI for the struct. Has the same usage as in getProperty.
propName The name of the property to which the qualifier is attached. Has the same usage as in getProperty.
qualNS The namespace URI for the qualifier. Has the same URI and prefix usage as the schemaNS parameter.
qualName The name of the qualifier. Must be a single XML name, must not be null or the empty string. Has the same namespace prefix usage as the propName parameter.
qualValue A pointer to the null terminated UTF-8 string that is the value of the qualifier, if the qualifier has a value. Has the same usage as propValue in getProperty.
options Option flags describing the qualifier. See the earlier description.

Implements iText.Kernel.XMP.XMPMeta.

◆ SetStructField() [1/2]

virtual void iText.Kernel.XMP.Impl.XMPMetaImpl.SetStructField ( String  schemaNS,
String  structName,
String  fieldNS,
String  fieldName,
String  fieldValue 
)
inlinevirtual
See also
SetStructField(System.String, System.String, System.String, System.String, System.String, iText.Kernel.XMP.Options.PropertyOptions)
Parameters
schemaNS The namespace URI for the struct
structName The name of the struct
fieldNS The namespace URI for the field
fieldName The name of the field
fieldValue the value of the field

Implements iText.Kernel.XMP.XMPMeta.

◆ SetStructField() [2/2]

virtual void iText.Kernel.XMP.Impl.XMPMetaImpl.SetStructField ( String  schemaNS,
String  structName,
String  fieldNS,
String  fieldName,
String  fieldValue,
PropertyOptions  options 
)
inlinevirtual

Provides access to fields within a nested structure.

Provides access to fields within a nested structure. The namespace for the field is passed as a URI, you need not worry about the path string syntax. The names of fields should be XML qualified names, that is within an XML namespace. The path syntax for a qualified name uses the namespace prefix, which is unreliable because the prefix is never guaranteed. The URI is the formal name, the prefix is just a local shorthand in a given sequence of XML text.

Parameters
schemaNS The namespace URI for the struct. Has the same usage as in getProperty.
structName The name of the struct. May be a general path expression, must not be null or the empty string. Has the same namespace prefix usage as propName in getProperty.
fieldNS The namespace URI for the field. Has the same URI and prefix usage as the schemaNS parameter.
fieldName The name of the field. Must be a single XML name, must not be null or the empty string. Has the same namespace prefix usage as the structName parameter.
fieldValue the value of thefield, if the field has a value. Has the same usage as propValue in getProperty.
options Option flags describing the field. See the earlier description.

Implements iText.Kernel.XMP.XMPMeta.

◆ Sort()

virtual void iText.Kernel.XMP.Impl.XMPMetaImpl.Sort ( )
inlinevirtual

Sorts the complete datamodel according to the following rules:

  • Schema nodes are sorted by prefix.

Sorts the complete datamodel according to the following rules:

  • Schema nodes are sorted by prefix.
  • Properties at top level and within structs are sorted by full name, that is prefix + local name.
  • Array items are not sorted, even if they have no certain order such as bags.
  • Qualifier are sorted, with the exception of "xml:lang" and/or "rdf:type" that stay at the top of the list in that order.

Implements iText.Kernel.XMP.XMPMeta.