Commit dfdd6a61 authored by Mark Canterbury's avatar Mark Canterbury
Browse files

Generic object mechanism and examples

parent c986c007
Loading
Loading
Loading
Loading
Loading
+152 −1
Original line number Original line Diff line number Diff line
@@ -101,6 +101,11 @@
			<xs:enumeration value="ReportNEIssue"/>
			<xs:enumeration value="ReportNEIssue"/>
			<xs:enumeration value="Ping"/>
			<xs:enumeration value="Ping"/>
			<xs:enumeration value="Keepalive"/>
			<xs:enumeration value="Keepalive"/>
      <xs:enumeration value="CreateObject"/>
      <xs:enumeration value="UpdateObject"/>
      <xs:enumeration value="GetObject"/>
      <xs:enumeration value="DeleteObject"/>
      <xs:enumeration value="ListObjectsOfType"/>
    </xs:restriction>
    </xs:restriction>
	</xs:simpleType>
	</xs:simpleType>
	<xs:complexType name="ErrorInformation">
	<xs:complexType name="ErrorInformation">
@@ -787,4 +792,150 @@
			</xs:extension>
			</xs:extension>
		</xs:complexContent>
		</xs:complexContent>
	</xs:complexType>
	</xs:complexType>

  <xs:simpleType name="X1ObjectID">
    <xs:restriction base="etsi103280:UUID"></xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="X1ObjectType">
    <xs:restriction base="xs:string"></xs:restriction>
  </xs:simpleType>
  
  <xs:complexType name="X1Object" abstract="true">
    <xs:sequence>
      <xs:element name="objectId" type="X1ObjectID"></xs:element>
    </xs:sequence>    
  </xs:complexType>

  <xs:complexType name="FooObject">
    <xs:complexContent>
      <xs:extension base="X1Object">
        <xs:sequence>
          <xs:element name="Foo" type="xs:int"></xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="BarObject">
    <xs:complexContent>
      <xs:extension base="X1Object">
        <xs:sequence>
          <xs:element name="Bar" type="xs:string"></xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>


  <xs:complexType name="CreateObject">
    <xs:complexContent>
      <xs:extension base="X1RequestMessage">
        <xs:sequence>
          <xs:element name="createObject" type="X1Object"></xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="CreateObjectResponse">
    <xs:complexContent>
      <xs:extension base="X1ResponseMessage">
        <xs:sequence>
          <xs:element name="oK" type="OK"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>


  <xs:complexType name="UpdateObject">
    <xs:complexContent>
      <xs:extension base="X1RequestMessage">
        <xs:sequence>
          <xs:element name="updateObject" type="X1Object"></xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="UpdateObjectResponse">
    <xs:complexContent>
      <xs:extension base="X1ResponseMessage">
        <xs:sequence>
          <xs:element name="oK" type="OK"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  
  <xs:complexType name="GetObject">
    <xs:complexContent>
      <xs:extension base="X1RequestMessage">
        <xs:sequence>
          <xs:element name="objectId" type="X1ObjectID"></xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="GetObjectResponse">
    <xs:complexContent>
      <xs:extension base="X1ResponseMessage">
        <xs:sequence>
          <xs:element name="object" type="X1Object"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  
  
  <xs:complexType name="DeleteObject">
    <xs:complexContent>
      <xs:extension base="X1RequestMessage">
        <xs:sequence>
          <xs:element name="objectId" type="X1ObjectID"></xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="DeleteObjectResponse">
    <xs:complexContent>
      <xs:extension base="X1ResponseMessage">
        <xs:sequence>
          <xs:element name="oK" type="OK"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  

  <xs:complexType name="ListObjectsOfType">
    <xs:complexContent>
      <xs:extension base="X1RequestMessage">
        <xs:sequence>
          <xs:element name="objectType" type="X1ObjectType"></xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="ListObjectsOfTypeResponse">
    <xs:complexContent>
      <xs:extension base="X1ResponseMessage">
        <xs:sequence>
          <xs:element name="listOfObjects" type="ListOfX1Objects"></xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="ListOfX1Objects">
    <xs:sequence>
      <xs:element name="objectId" type="X1ObjectID" minOccurs="0" maxOccurs="unbounded"></xs:element>
    </xs:sequence>
  </xs:complexType>
  
</xs:schema>
</xs:schema>
+14 −0
Original line number Original line Diff line number Diff line
<?xml version="1.0" ?>
<X1Request xmlns="http://uri.etsi.org/03221/X1/2017/10" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <x1RequestMessage xsi:type="CreateObject">
    <admfIdentifier>admfID</admfIdentifier>
    <neIdentifier>neID</neIdentifier>
    <messageTimestamp>2017-10-06T18:46:21.247432Z</messageTimestamp>
    <version>v1.6.1</version>
    <x1TransactionId>3741800e-971b-4aa9-85f4-466d2b1adc7f</x1TransactionId>
    <createObject xsi:type="FooObject">
      <objectId>3741800e-971b-4aa9-85f4-466d2b1adc7e</objectId>
      <Foo>1</Foo>
    </createObject>
  </x1RequestMessage>
</X1Request>
+13 −0
Original line number Original line Diff line number Diff line
<?xml version="1.0" ?>
<X1Response xmlns="http://uri.etsi.org/03221/X1/2017/10" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <x1ResponseMessage xsi:type="GetObjectResponse">
    <admfIdentifier>admfID</admfIdentifier>
    <neIdentifier>neID</neIdentifier>
    <messageTimestamp>2017-10-06T18:46:21.247432Z</messageTimestamp>
    <version>v1.6.1</version>
    <x1TransactionId>3741800e-971b-4aa9-85f4-466d2b1adc7f</x1TransactionId>
    <object xsi:type="FooObject">
      <objectId>3741800e-971b-4aa9-85f4-466d2b1adc7e</objectId>
    </object>
  </x1ResponseMessage>
</X1Response>
+11 −0
Original line number Original line Diff line number Diff line
<?xml version="1.0" ?>
<X1Request xmlns="http://uri.etsi.org/03221/X1/2017/10" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <x1RequestMessage xsi:type="GetObject">
    <admfIdentifier>admfID</admfIdentifier>
    <neIdentifier>neID</neIdentifier>
    <messageTimestamp>2017-10-06T18:46:21.247432Z</messageTimestamp>
    <version>v1.6.1</version>
    <x1TransactionId>3741800e-971b-4aa9-85f4-466d2b1adc7f</x1TransactionId>
    <objectId>3741800e-971b-4aa9-85f4-466d2b1adc7e</objectId>
  </x1RequestMessage>
</X1Request>
+13 −0
Original line number Original line Diff line number Diff line
<?xml version="1.0" ?>
<X1Response xmlns="http://uri.etsi.org/03221/X1/2017/10" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <x1ResponseMessage xsi:type="ListObjectsOfTypeResponse">
    <admfIdentifier>admfID</admfIdentifier>
    <neIdentifier>neID</neIdentifier>
    <messageTimestamp>2017-10-06T18:46:21.247432Z</messageTimestamp>
    <version>v1.6.1</version>
    <x1TransactionId>3741800e-971b-4aa9-85f4-466d2b1adc7f</x1TransactionId>
    <listOfObjects>
      <objectId>3741800e-971b-4aa9-85f4-466d2b1adc7e</objectId>
    </listOfObjects>
  </x1ResponseMessage>
</X1Response>
Loading