Address block Figure 1
XSD code
<xsd:element name=“Address" type="tns:Address”/> <xsd:complexType name=“Address”> <xsd:complexContent> <xsd:extension base="tns:Entity"> <xsd:sequence/> </xsd:extension> </xsd:complexContent> </xsd:complexType>
XML data
<Address uid="id01“/>
LocationRepresentation block Figure 2
XSD code
<xsd:element name=“LocationRepresentation" type="tns:LocationRepresentation”/> <xsd:complexType name=“LocationRepresentation” abstract="true"> <xsd:complexContent> <xsd:extension base="tns:Entity"> <xsd:sequence/> </xsd:extension> </xsd:complexContent> </xsd:complexType>
XML data
N/A
Address block with town property Figure 3
XSD code
<xsd:element name=“Address " type="tns: Address”/> <xsd:complexType name="Address"> <xsd:complexContent> <xsd:extension base="tns:Entity"> <xsd:sequence> <xsd:element name="Town" type="xsd:string" minOccurs="0" maxOccurs="1"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType>
XML data
<Address id="id01"> <Town>London</Town> </Address>
Activity block to ActivityMethod block Figure 4
XSD code
<xsd:complexType name="Activity"> <xsd:complexContent> <xsd:extension base="tns:Entity"> <xsd:sequence> <xsd:element name="ChosenMethod" type="tns:Reference" minOccurs="0" maxOccurs="1"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="ActivityMethod"> <xsd:complexContent> <xsd:extension base="tns:Entity"> <xsd:sequence/> </xsd:extension> </xsd:complexContent> </xsd:complexType>
XML data
<Activity uid="id01"> <ChosenMethod uidRef="id02"/> </Activity> <ActivityMethod uid="id02"/>
ExperienceInstance block to DefinedActivitiesSelect block Figure 5
XSD code
<xsd:complexType name="ResourceAsRealized"> <xsd:complexContent> <xsd:extension base="tns:Entity"> <xsd:sequence/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="ActivityActual"> <xsd:complexContent> <xsd:extension base="tns:Activity"> <xsd:sequence/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="ExperienceInstance"> <xsd:complexContent> <xsd:extension base="tns:Entity"> <xsd:sequence> <xsd:element name="ConsistsOf" type="tns:Reference" minOccurs="0" maxOccurs="1"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType>
XML data
<ExperienceInstance uid="id01"> <ConsistsOf uidRef="id02"/> </ExperienceInstance> <ActivityActual uid="id02"/>
Activity block as ActivityMethod block Figure 6
XSD code
<xsd:complexType name="Activity"> <xsd:complexContent> <xsd:extension base="tns:Entity"> <xsd:sequence> <xsd:element name="ChosenMethod" type="tns:Reference" minOccurs="0" maxOccurs="1"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="ActivityMethod"> <xsd:complexContent> <xsd:extension base="tns:Entity"> <xsd:sequence/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="ActivityActual"> <xsd:complexContent> <xsd:extension base="tns:Activity"> <xsd:sequence/> </xsd:extension> </xsd:complexContent> </xsd:complexType>
XML data
<ActivityActual uid="id01"> <ChosenMethod uidRef="id02"/> </ActivityActual> <ActivityMethod uid="id02"/>
Product as ProductAsIndividual block to ProductVersion as ProductAsRealized block Figure 7
XSD code
<xsd:complexType name="Product"> <xsd:complexContent> <xsd:extension base="tns:Entity"> <xsd:sequence> <xsd:element name="Versions" minOccurs="0" maxOccurs="1"> <xsd:complexType> <xsd:sequence> <xsd:element name="ProductVersion" type="tns:ProductVersion" minOccurs="1" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="ProductAsIndividual"> <xsd:complexContent> <xsd:extension base="tns:Product"/> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="ProductAsIndividualVersion" abstract="true"> <xsd:complexContent> <xsd:extension base="tns:ProductVersion"/> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="ProductAsRealized"> <xsd:complexContent> <xsd:extension base="tns:ProductAsIndividualVersion"/> </xsd:complexContent> </xsd:complexType>
XML data
<ProductAsIndividual uid="id06"> <Versions> <ProductVersion uid="id07" xsi:type="ProductAsRealized"/> </Versions> </ProductAsIndividual>
Activity block with Identification Figure 8
XSD code
<xsd:complexType name="Activity"> <xsd:complexContent> <xsd:extension base="tns:Entity"> <xsd:sequence> <xsd:element name="Identifications" minOccurs="0" maxOccurs="1"> <xsd:complexType> <xsd:sequence> <xsd:element name="Identification" type="tns:Identification" minOccurs="1" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="Identification"> <xsd:complexContent> <xsd:extension base="tns:Entity"> <xsd:attribute name="id" type="xsd:string"/> <xsd:attribute name="idContextRef" type="xsd:string"/> <xsd:attribute name="idRoleRef" type="xsd:string"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="Organization"> <xsd:complexContent> <xsd:extension base="tns:Entity"> <xsd:sequence> <xsd:element name="Identifications" minOccurs="1" maxOccurs="1"> <xsd:complexType> <xsd:sequence> <xsd:element name="Identification" type="tns:Identification" minOccurs="1" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="ExternalOwlClass"> <xsd:complexContent> <xsd:extension base="tns:Entity"> <xsd:sequence> <xsd:element name="Class" type="tns:Uri" minOccurs="1" maxOccurs="1"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType>
XML data
<Activity uid="id01"> <Identifications> <Identification uid="id02" id="Act001" idContextRef="id03" idRoleRef="id04"/> </Identifications> </Activity> <Organization uid="id05"> <Identifications> <Identification uid="id06" id="Org001" idRoleRef="id07"/> </Identifications> </Organization> <ExternalOwlClass uid="id04"> <Class>http://docs.oasis-open.org/plcs/ns/plcslib/v1.0/data/plcs/plcs-psm/refdata/plcs-psm-psm#ActivityIdentifier</Class> </ExternalOwlClass> <ExternalOwlClass uid="id07"> <Class>http://docs.oasis-open.org/plcs/ns/plcslib/v1.0/data/plcs/plcs-psm/refdata/plcs-psm-psm#OrganizationIdentifier</Class> </ExternalOwlClass>
Organization block with identifications Figure 9
XSD code
<xsd:complexType name="Identification"> <xsd:complexContent> <xsd:extension base="tns:Entity"> <xsd:attribute name="id" type="xsd:string"/> <xsd:attribute name="idContextRef" type="xsd:string"/> <xsd:attribute name="idRoleRef" type="xsd:string"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="Organization"> <xsd:complexContent> <xsd:extension base="tns:Entity"> <xsd:sequence> <xsd:element name="Identifications" minOccurs="1" maxOccurs="1"> <xsd:complexType> <xsd:sequence> <xsd:element name="Identification" type="tns:Identification" minOccurs="1" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="ExternalOwlClass"> <xsd:complexContent> <xsd:extension base="tns:Entity"> <xsd:sequence> <xsd:element name="Class" type="tns:Uri" minOccurs="1" maxOccurs="1"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType>
XML data
<Organization uid="id01"> <Identifications> <Identification uid="id02" id="99789" idRoleRef="id04"/> <Identification uid="id03" id="103933453" idRoleRef="id05"/> </Identifications> </Organization> <ExternalOwlClass uid="id04"> <Class>http://docs.oasis-open.org/plcs/ns/plcslib/v1.0/data/plcs/plcs-psm/refdata/plcs-psm-psm#CAGEcode</Class> </ExternalOwlClass> <ExternalOwlClass uid="id05"> <Class>http://docs.oasis-open.org/plcs/ns/plcslib/v1.0/data/plcs/plcs-psm/refdata/plcs-psm-psm#DNScode</Class> </ExternalOwlClass>
Product block with ProductVersionFigure 10
XSD code
<xsd:complexType name="Product"> <xsd:complexContent> <xsd:extension base="tns:Entity"> <xsd:sequence> <xsd:element name="Versions" minOccurs="0" maxOccurs="1"> <xsd:complexType> <xsd:sequence> <xsd:element ref="tns:ProductVersion" minOccurs="1“ maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType>
XML data
<Product uid="id01"> <Versions> <ProductVersion uid="id02"/> </Versions> </Product>
Product block with assigned Location Figure 11
XSD code
<xsd:complexType name="Product"> <xsd:complexContent> <xsd:extension base="tns:Entity"> <xsd:sequence> <xsd:element ref="tns:LocationAssignment" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="LocationAssignment"> <xsd:complexContent> <xsd:extension base="tns:AssignmentObject"> <xsd:sequence> <xsd:element name="AssignedLocation" type="tns:Reference" minOccurs="1“ maxOccurs="1"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="Location"> <xsd:complexContent> <xsd:extension base="tns:Entity"> <xsd:sequence/> </xsd:extension> </xsd:complexContent> </xsd:complexType>
XML data
<Product uid="id01"> <LocationAssignment uid="id02"> <AssignedLocation uidRef="id03"/> </LocationAssignment> </Product> <Location uid="id03"/>
LocationAssignment (to Product) with assigned Document Figure 12
XSD code
<xsd:complexType name="Product"> <xsd:complexContent> <xsd:extension base="tns:Entity"> <xsd:sequence> <xsd:element ref="tns:LocationAssignment" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="LocationAssignment"> <xsd:complexContent> <xsd:extension base="tns:AssignmentObject"> <xsd:sequence> <xsd:element name="AssignedLocation" type="tns:Reference" minOccurs="1“ maxOccurs="1"/> <xsd:element ref="tns:DocumentAssignment" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="Location"> <xsd:complexContent> <xsd:extension base="tns:Entity"> <xsd:sequence/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="DocumentAssignment"> <xsd:complexContent> <xsd:extension base="tns:AssignmentObject"> <xsd:sequence> <xsd:element name="AssignedDocument" type="tns:Reference" minOccurs="1“ maxOccurs="1"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="Document"> <xsd:complexContent> <xsd:extension base="tns:Product"> <xsd:sequence/> </xsd:extension> </xsd:complexContent> </xsd:complexType>
XML data
<Product uid="id01"> <LocationAssignment uid="id02"> <AssignedLocation uidRef="id03"/> <DocumentAssignment uid="id04"> <AssignedDocument uidRef="id05"> </DocumentAssignment> </LocationAssignment> </Product> <Location uid="id03"/> <Document uid="id05"/>
ActivityRelationship betweeen two Activity block instances Figure 13
XSD code
<xsd:complexType name="ActivityRelationship"> <xsd:complexContent> <xsd:extension base="tns:RelationshipObject"> <xsd:sequence> <xsd:element name="Related" type="tns:Reference" minOccurs="1" maxOccurs="1"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="Activity"> <xsd:complexContent> <xsd:extension base="tns:Entity"> <xsd:sequence> <xsd:element ref="tns:ActivityRelationship" minOccurs="0" maxOccurs="unbounded"> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType>
XML data
<Activity uid="id01"> <ActivityRelationship uid="id02"> <Related uidRef="id03"/> </ActivityRelationship> </Activity> <Activity uid="id03"/>
Document assigned to ActivityRelationship betweeen two Activity block instances Figure 14
XSD code
<xsd:complexType name="ActivityRelationship"> <xsd:complexContent> <xsd:extension base="tns:RelationshipObject"> <xsd:sequence> <xsd:element name="Related" type="tns:Reference" minOccurs="1" maxOccurs="1"/> <xsd:element ref="tns:DocumentAssignment" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="Activity"> <xsd:complexContent> <xsd:extension base="tns:Entity"> <xsd:sequence> <xsd:element ref="tns:ActivityRelationship" minOccurs="0" maxOccurs="unbounded"> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="DocumentAssignment"> <xsd:complexContent> <xsd:extension base="tns:AssignmentObject"> <xsd:sequence> <xsd:element name="AssignedDocument" type="tns:Reference" minOccurs="1“ maxOccurs="1"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="Document"> <xsd:complexContent> <xsd:extension base="tns:Product"> <xsd:sequence/> </xsd:extension> </xsd:complexContent> </xsd:complexType>
XML data
<Activity uid="id01"> <ActivityRelationship uid="id02"> <Related uidRef="id03"/> <DocumentAssignment uid="id04"> <AssignedDocument uidRef="id05"/> </DocumentAssignment> </ActivityRelationship> </Activity> <Activity uid="id03"/> <Document uid="id05"/>
Product block with Description Figure 15
XSD code
<xsd:complexType name="Product"> <xsd:complexContent> <xsd:extension base="tns:Entity"> <xsd:sequence> <xsd:element name="Descriptions" minOccurs="0" maxOccurs="1"> <xsd:complexType> <xsd:sequence> <xsd:element name="Description" type="tns:Description" minOccurs="1" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="Description"> <xsd:complexContent> <xsd:extension base="tns:Entity"> <xsd:sequence> <xsd:element name="LocalizedString" type="tns:LocalizedString" minOccurs="1" maxOccurs="unbounded"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="LocalizedString"> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attribute name="lang" type="xsd:language"/> <xsd:attribute name="uid" type="xsd:ID"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType>
XML data
<Product uid="id01"> <Descriptions> <Description uid="id02"> <LocalizedString uid="id03">My Product</LocalizedString> </Description> </Descriptions> </Product>
Product block with Multi-lingual Descriptions Figure 16
XSD code
<xsd:complexType name="Product"> <xsd:complexContent> <xsd:extension base="tns:Entity"> <xsd:sequence> <xsd:element name="Descriptions" minOccurs="0" maxOccurs="1"> <xsd:complexType> <xsd:sequence> <xsd:element name="Description" type="tns:Description" minOccurs="1" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="Description"> <xsd:complexContent> <xsd:extension base="tns:Entity"> <xsd:sequence> <xsd:element name="LocalizedString" type="tns:LocalizedString" minOccurs="1" maxOccurs="unbounded"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="LocalizedString"> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attribute name="lang" type="xsd:language"/> <xsd:attribute name="uid" type="xsd:ID"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType>
XML data
<Product uid="id01"> <Descriptions> <Description uid="id02"> <LocalizedString lang="en-UK" uid="id03">My Product</LocalizedString> <LocalizedString lang="de-DE" uid="id04">Mein Produkt</LocalizedString> </Description> </Descriptions> </Product>
Approval with Planned Date Figure 17
XSD code
<xsd:complexType name="Approval"> <xsd:complexContent> <xsd:extension base="tns:Entity"> <xsd:sequence> <xsd:element name="PlannedDate" type="tns:DateTimeString" minOccurs="0“ maxOccurs="1"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType>
XML data
<Approval uid="id01"> <PlannedDate uid="id02">2012-11-09T00:00:00</PlannedDate> </Approval>