The Descriptor content is organized into files and folders.
A Descriptor contains several kinds of files: The Descriptor manifest, Information Model files, attachment files, embedded Descriptors, and Common Services files. This is illustrated in Figure 17.
There is no prescribed folder structure for the Descriptor. The files of a specific kind are identified by Open Packaging Conventions relationships (see 7.5.2).
Figure 17 – Descriptor file structure
The Descriptor manifest is an XML file that defines the metadata for a Descriptor.
There shall be exactly one Descriptor manifest in a Descriptor.
The Descriptor manifest file shall be identified by an Open Packaging Conventions relationship of type “http://schemas.opcfoundation.org/container/relationship/Manifest” stored in the container relationship file “_rels/.rels”.
Example:
<Relationship Target= “{path to manifest file}” Type=“http://schemas.opcfoundation.org/container/relationship/Manifest” Id=“{id-attribute of manifest file}”/>
The Descriptor manifest shall have exactly one “DescriptorInfo” XML element, which defines the XML sub-elements “DescriptorIdentifier”, “DescriptorVersion”, and “OpcUaFxVersion”, as defined in Table 1.
Table 1 – The content of the DescriptorInfo XML element
Tag |
Type |
Description |
DescriptorIdentifier |
xs:anyURI |
URI of the Descriptor. Defines a globally unique identifier for the Descriptor. |
DescriptorVersion |
4 integers of type xs:short |
Descriptor version. Defines the version numbers of the Descriptor. |
OpcUaFxVersion |
xs:string |
Version of the OPC UA FX standard taken from the NodeSet file the Descriptor adheres to. |
The following is an example of a “DescriptorInfo” XML element:
<DescriptorInfo>
<DescriptorIdentifier>urn:company:factory:plant_project:automation_
component:1.0.0</DescriptorIdentifier>
<DescriptorVersion>
<Major>1</Major>
<Minor>0</Minor>
<Build>0</Build>
<SubBuild>0</SubBuild>
</DescriptorVersion>
<OpcUaFxVersion>1.0.0</OpcUaFxVersion>
</DescriptorInfo>
The schema of the Descriptor manifest is defined in Annex J.
If a Descriptor is stored in an AcDescriptorType instance in the online Information Model and a value for the DescriptorIdentifier or the DescriptorVersion Variable of the instance is provided, this value will match the respective content of the DescriptorIdentifier or DescriptorVersion element in the DescriptorInfo XML element of the Descriptor manifest. (See OPC 10000-81, FxAssetType definition)
Information Model files are AutomationML files based on the OPC UA FX AML libraries defined in this document. Information Model files may also include or reference AutomationML content that is based on AML libraries other than the OPC UA FX AML libraries.
There shall be at least one Information Model file present in a Descriptor. The organization of the Information Model files is explained in 5.4 and 7.5.2. The content of the Descriptor shall correspond to the online UAFX Information Model Profiles as described in the UAFX Offline Descriptor Profile (see OPC 10000-84 and http://opcfoundation.org/UA-Profile/UAFX-Offline-Descriptor-Profile).
Information Model files and AutomationML files providing content for Information Model files are identified by an Open Packaging Conventions relationship of type “http://schemas.automationml.org/container/relationship/Library”.
A Descriptor may include one or more Attachment files. Attachment files are any files that are neither a manifest file, Information Model files, Embedded Descriptors, or common service files. Attachment files are useful for providing additional information for the understanding and usage of the AutomationComponent.
There is no specific format required for attachment files.
The file name extension and the content type of an attachment file shall be listed in the [Content_Types].xml file of a Descriptor. (See 7.6)
Attachment files are identified by an Open Packaging Conventions relationship of type “http://schemas.automationml.org/container/relationship/AnyContent”.
A Descriptor may include one or more Embedded Descriptors.
Embedded Descriptors shall be compliant with all Descriptor requirements defined in the UAFX Offline Descriptor Profile (see OPC 10000-84).
Embedded Descriptor files shall be identified by an Open Packaging Conventions relationship of type “http://schemas.opcfoundation.org/container/relationship/EmbeddedDescriptor”.
The following Common Services files shall be present in a Descriptor:
- “[Content_Types].xml” file is located in the top-level folder “/”;
NOTE The brackets [ ] are literal text for the .xml file name as defined by the Open Packaging Conventions container.
- relationship file “.rels” is located in the folder “/_rels”;
- the “origin.psdor” file is located in the folder “/package/service/digital-signature”;
- the relationship file “origin.psdor.rels”, which lists the digital signatures, is located in the folder “/package/service/digital-signature/_rels”;
- at least one digital signature file with the file name extension .psdsxs is located in the folder “/package/service/digital-signature/xml-signature”.