Platforms to show: All Mac Windows Linux Cross-Platform

Back to XMPMetaMBS class.

XMPMetaMBS.ApplyTemplate(WorkingXMP as XMPMetaMBS, template as XMPMetaMBS, actions as Integer)

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method XMP MBS XMP Plugin 11.0 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Applies an xmp template.

XMPMetaMBS.ComposeArrayItemPath(schemaNS as string, arrayName as string, itemIndex as Integer) as string

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method XMP MBS XMP Plugin 9.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Compose the path expression for an item in an array.

schemaNSThe namespace URI for the array. Must not be null or the empty string.
arrayNameThe name of the array. May be a general path expression, must not be an empty string.
itemIndexThe index of the desired item. Arrays in XMP are indexed from 1. The constant kXMP_ArrayLastItem always refers to the last existing array item.
Returns the composed path. This will be of the form <tt>ns:arrayName[i]</tt>, where "ns" is the prefix for schemaNS and "i" is the decimal representation of itemIndex. If the value of itemIndex is kXMP_ArrayLastItem, the path is <tt>ns:arrayName[last()]</tt>.

Some examples using this method:

XMPMetaMBS.ComposeFieldSelector(schemaNS as string, arrayName as string, fieldNS as string, fieldName as string, fieldValue as string) as string

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method XMP MBS XMP Plugin 9.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Compose the path expression to select an alternate item by a field's value.

The path syntax allows two forms of "content addressing" that may be used to select an item in an array of alternatives. The form used in ComposeFieldSelector lets you select an item in an array of structs based on the value of one of the fields in the structs. The other form of content addressing is shown in ComposeLangSelector.

For example, consider a simple struct that has two fields, the name of a city and the URI of an FTP site in that city. Use this to create an array of download alternatives. You can show the user a popup built from the values of the city fields. You can then get the corresponding URI as follows:

path=ComposeFieldSelector ( schemaNS, "Downloads", fieldNS, "City", chosenCity)
exists = GetStructField ( schemaNS, path, fieldNS, "URI", uri )

schemaNSThe namespace URI for the array. Must not be null or the empty string.
arrayNameThe name of the array. May be a general path expression, must not be an empty string.
fieldNSThe namespace URI for the field used as the selector. Must not be an empty string.
fieldNameThe name of the field used as the selector. Must be a simple XML name, must not be an empty string. It must be the name of a field that is itself simple.
fieldValueThe desired value of the field.
Returns the string with the composed path. This will be of the form <tt>ns:arrayName[fNS:fieldName='fieldValue']</tt>, where "ns" is the prefix for schemaNS and "fNS" is the prefix for fieldNS.

Some examples using this method:

XMPMetaMBS.ComposeLangSelector(schemaNS as string, arrayName as string, langName as string) as string

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method XMP MBS XMP Plugin 9.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Compose the path expression to select an alternate item by language.

The path syntax allows two forms of "content addressing" that may be used to select an item in an array of alternatives. The form used in ComposeLangSelector lets you select an item in an alt-text array based on the value of its <tt>xml:lang</tt> qualifier. The other form of content addressing is shown in ComposeFieldSelector.

ComposeLangSelector does not supplant SetLocalizedText or GetLocalizedText.
They should generally be used, as they provide extra logic to choose the appropriate language and maintain consistency with the 'x-default' value. ComposeLangSelector gives you an path expression that is explicitly and only for the language given in the langName parameter.

schemaNSThe namespace URI for the array. Must not be null or the empty string.
arrayNameThe name of the array. May be a general path expression, must not be an empty string.
langNameThe RFC 3066 code for the desired language.
Returns the composed path. This will be of the form <tt>ns:arrayName[\@xml:lang='langName']</tt>, where "ns" is the prefix for schemaNS.

Some examples using this method:

XMPMetaMBS.ComposeQualifierPath(schemaNS as string, structName as string, qualNS as string, qualName as string) as string

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method XMP MBS XMP Plugin 9.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Compose the path expression for a qualifier.

schemaNS The namespace URI for the property to which the qualifier is attached. Must not be an empty string.
propName The name of the property to which the qualifier is attached. May be a general path expression, must not be an empty string.
qualNS The namespace URI for the qualifier. May be an empty string if the qualifier is in the XML empty namespace.
qualName The name of the qualifier. Must be a simple XML name, must not be an empty string.
Returns the composed path. This will be of the form <tt>ns:propName/?qNS:qualName</tt>, where "ns" is the prefix for schemaNS and "qNS" is the prefix for qualNS.

Some examples using this method:

XMPMetaMBS.ComposeStructFieldPath(schemaNS as string, structName as string, fieldNS as string, fieldName as string) as string

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method XMP MBS XMP Plugin 9.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Compose the path expression for a field in a struct.

schemaNSThe namespace URI for the struct. Must not be null or the empty string.
structNameThe name of the struct. May be a general path expression, must not be an empty string.
fieldNSThe namespace URI for the field. Must not be an empty string.
fieldNameThe name of the field. Must be a simple XML name, must not be an empty string.
Returns the composed path. This will be of the form <tt>ns:structName/fNS:fieldName</tt>, where "ns" is the prefix for schemaNS and "fNS" is the prefix for fieldNS.

Some examples using this method:

XMPMetaMBS.ConvertFromBool(value as boolean) as string

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method XMP MBS XMP Plugin 9.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Convert from Boolean to string.

Some examples using this method:

XMPMetaMBS.ConvertFromDate(value as XMPDateTimeMBS) as string

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method XMP MBS XMP Plugin 9.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Convert from date/time to string.

Some examples using this method:

XMPMetaMBS.ConvertFromFloat(value as Double, format as string) as string

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method XMP MBS XMP Plugin 9.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Convert from floating point to string.

format: Optional C sprintf format for the conversion. Defaults to "%f".

Some examples using this method:

XMPMetaMBS.ConvertFromInt(value as Integer, format as string) as string

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method XMP MBS XMP Plugin 9.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Convert from integer to string.

format: Optional C sprintf format for the conversion. Defaults to "%d".

Some examples using this method:

XMPMetaMBS.ConvertFromInt64(value as Int64, format as string) as string

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method XMP MBS XMP Plugin 9.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Convert from integer to string.

format: Optional C sprintf format for the conversion. Defaults to "%d".

XMPMetaMBS.ConvertToBool(value as string) as boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method XMP MBS XMP Plugin 9.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Convert from string to Boolean.

Some examples using this method:

XMPMetaMBS.ConvertToDate(value as string) as XMPDateTimeMBS

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method XMP MBS XMP Plugin 9.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Convert from string to date/time.

Some examples using this method:

XMPMetaMBS.ConvertToFloat(value as string) as Double

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method XMP MBS XMP Plugin 9.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Convert from string to floating point.

Some examples using this method:

XMPMetaMBS.ConvertToInt(value as string) as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method XMP MBS XMP Plugin 9.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Convert from string to integer.

Some examples using this method:

XMPMetaMBS.ConvertToInt64(value as string) as Int64

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method XMP MBS XMP Plugin 9.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Convert from string to 64 bit integer.

XMPMetaMBS.CurrentDateTime as XMPDateTimeMBS

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method XMP MBS XMP Plugin 9.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Current date and time as a XMPDateTimeMBS object.

Returns nil on any error.

XMPMetaMBS.DecodeFromBase64(text as string) as string

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method XMP MBS XMP Plugin 9.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Decode from Base64 encoded string to raw data.
Example
dim x as XMPMetaMBS
x=new XMPMetaMBS
MsgBox x.DecodeFromBase64("dGVzdA==") // test

This is a global method which does not need a valid handle.

Some examples using this method:

XMPMetaMBS.DeleteNamespace(namespaceURI as string)

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method XMP MBS XMP Plugin 9.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Deletes a namespace from the registry.

Not implemented?

Does nothing if the URI is not registered, or if the parameter is null or the empty string.

namespaceURI: The URI for the namespace.

Some examples using this method:

XMPMetaMBS.DumpNamespaces(output as XMPTextOutputMBS) as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method XMP MBS XMP Plugin 9.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
DumpNamespaces dumps the list of registered namespace URIs and prefixes.

This is a global method which does not need a valid handle.
Returns status code. (0=success and -1=error)

Some examples using this method:

XMPMetaMBS.EncodeToBase64(text as string) as string

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method XMP MBS XMP Plugin 9.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Convert from raw data to Base64 encoded string.
Example
dim x as XMPMetaMBS
x=new XMPMetaMBS
MsgBox x.EncodeToBase64("test") // dGVzdA==

This is a global method which does not need a valid handle.

Some examples using this method:

XMPMetaMBS.GetNamespacePrefix(namespaceURI as string, byref namespacePrefix as string) as boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method XMP MBS XMP Plugin 9.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Obtain the prefix for a registered namespace URI.

It is not an error if the namespace URI is not registered. The output namespacePrefix string is "" if the namespace URI is not registered.

Parameters:
namespaceURIThe URI for the namespace. Must not be null or the empty string.
namespacePrefixReturns the prefix registered for this URI, with a terminating ':'.

Returns true if the namespace URI is registered.

This is a global method which does not need a valid handle.

Some examples using this method:

XMPMetaMBS.GetNamespaceURI(namespacePrefix as string, byref namespaceURI as string) as boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method XMP MBS XMP Plugin 9.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Obtain the URI for a registered namespace prefix.

It is not an error if the namespace prefix is not registered. The output namespaceURI string is "" if the namespace prefix is not registered.

Parameters:
namespacePrefixThe prefix for the namespace. Must not be "".
namespaceURIReturns the URI registered for this prefix.

Returns true if the namespace prefix is registered.

This is a global method which does not need a valid handle.

Some examples using this method:

XMPMetaMBS.GetVersionInfo as XMPVersionInfoMBS

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method XMP MBS XMP Plugin 9.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Retrieves runtime version information.

XMPMetaMBS.GlobalOptions as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
property XMP MBS XMP Plugin 9.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Sets or retrieves the set of global option flags.

(Read and Write computed property)

Some examples using this property:

XMPMetaMBS.RegisterNamespace(namespaceURI as string, suggestedPrefix as string, byref registeredPrefix as string) as boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
shared method XMP MBS XMP Plugin 9.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Register a namespace URI with a suggested prefix.
Example
dim x as new XMPMetaMBS
dim registeredPrefix as string

call x.RegisterNamespace ("xwnv", "xwnv", registeredPrefix)

x.SetProperty "xwnv","MZSTID","test"

MsgBox x.SerializeToBuffer

It is not an error if the URI is already registered, no matter what the prefix is. If the URI is not registered but the suggested prefix is in use, a unique prefix is created from the suggested one. The actual registeed prefix is always returned. The function result tells if the registered prefix is the suggested one.

Parameters:
namespaceURIThe URI for the namespace. Must be a valid XML URI.
suggestedPrefixThe suggested prefix to be used if the URI is not yet registered. Must be a valid XML name.
registeredPrefixReturns the prefix actually registered for this URI.

Returns true if the registered prefix matches the suggested prefix.

Note: No checking is presently done on either the URI or the prefix.

This is a global method which does not need a valid handle.

Some examples using this method:

The items on this page are in the following plugins: MBS XMP Plugin.


The biggest plugin in space...