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

Merge branch 'cr/TS103221-1/027' into 'meeting/LI58e'

TS 103 221-1 CR027 - Generic Objects

See merge request !43
parents bbe3392d 947abf30
Loading
Loading
Loading
Loading
+158 −2
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://uri.etsi.org/03221/X1/2017/10" xmlns:etsi103280="http://uri.etsi.org/03280/common/2017/07" targetNamespace="http://uri.etsi.org/03221/X1/2017/10" elementFormDefault="qualified" version="1.8.1">
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
           xmlns="http://uri.etsi.org/03221/X1/2017/10" 
           xmlns:etsi103280="http://uri.etsi.org/03280/common/2017/07"
           xmlns:hashedID="http://uri.etsi.org/03221/X1/2017/10/HashedID" 
           targetNamespace="http://uri.etsi.org/03221/X1/2017/10" 
           elementFormDefault="qualified" 
           version="1.8.1">
  
	<xs:import namespace="http://uri.etsi.org/03280/common/2017/07"/>
  <xs:import namespace="http://uri.etsi.org/03221/X1/2017/10/HashedID"/>
	<!-- Message containers -->
	<xs:element name="X1Request" type="RequestContainer"/>
	<xs:element name="X1Response" type="ResponseContainer"/>
@@ -101,6 +109,11 @@
			<xs:enumeration value="ReportNEIssue"/>
			<xs:enumeration value="Ping"/>
			<xs:enumeration value="Keepalive"/>
			<xs:enumeration value="CreateObject"/>
			<xs:enumeration value="ModifyObject"/>
			<xs:enumeration value="GetObject"/>
			<xs:enumeration value="DeleteObject"/>
			<xs:enumeration value="ListObjectsOfType"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="ErrorInformation">
@@ -174,6 +187,7 @@
			<xs:element name="peiImeisv" type="etsi103280:PEIIMEISV"/>
			<xs:element name="gpsiMsisdn" type="etsi103280:GPSIMSISDN"/>
			<xs:element name="gpsiNai" type="etsi103280:GPSINAI"/>
      <xs:element name="hashedIdentifier" type="hashedID:HashedIdentifier"></xs:element>
			<xs:element name="targetIdentifierExtension" type="TargetIdentifierExtension"/>
		</xs:choice>
	</xs:complexType>
@@ -628,6 +642,7 @@
					<xs:element name="neStatusDetails" type="NeStatusDetails"/>
					<xs:element name="listOfTaskResponseDetails" type="ListOfTaskResponseDetails"/>
					<xs:element name="listOfDestinationResponseDetails" type="ListOfDestinationResponseDetails"/>
					<xs:element name="listOfGenericObjectResponseDetails" type="ListOfGenericObjectResponseDetails" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
@@ -657,6 +672,7 @@
				<xs:sequence>
					<xs:element name="ListOfXIDs" type="ListOfXids"/>
					<xs:element name="ListOfDIDs" type="ListOfDids"/>
					<xs:element name="ListOfGenericObjectIDs" type="ListOfGenericObjectIDs" minOccurs="0"></xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
@@ -789,4 +805,144 @@
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>

	<xs:simpleType name="GenericObjectID">
		<xs:restriction base="etsi103280:UUID"></xs:restriction>
	</xs:simpleType>
	
	<xs:simpleType name="GenericObjectType">
		<xs:restriction base="xs:string">
			<xs:pattern value="Q{[^{}]*}.+"></xs:pattern>
		</xs:restriction>
	</xs:simpleType>
	
	<xs:complexType name="GenericObject" abstract="true">
		<xs:sequence>
			<xs:element name="objectId" type="GenericObjectID"></xs:element>
		</xs:sequence>		
	</xs:complexType>

	<xs:complexType name="CreateObjectRequest">
		<xs:complexContent>
			<xs:extension base="X1RequestMessage">
				<xs:sequence>
					<xs:element name="createObject" type="GenericObject"></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="ModifyObjectRequest">
		<xs:complexContent>
			<xs:extension base="X1RequestMessage">
				<xs:sequence>
					<xs:element name="modifyObject" type="GenericObject"></xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>

	<xs:complexType name="ModifyObjectResponse">
		<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="GetObjectRequest">
		<xs:complexContent>
			<xs:extension base="X1RequestMessage">
				<xs:sequence>
					<xs:element name="objectId" type="GenericObjectID"></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="genericObjectResponseDetails" type="GenericObjectResponseDetails"></xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>

	<xs:complexType name="GenericObjectResponseDetails">
		<xs:sequence>
				<xs:element name="object" type="GenericObject"/>
				<xs:element name="status" type="GenericObjectStatus" minOccurs="0"/>			
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="ListOfGenericObjectResponseDetails">
		<xs:sequence>
			<xs:element name="genericObjectResponseDetails" type="GenericObjectResponseDetails" minOccurs="0" maxOccurs="unbounded"></xs:element>
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="GenericObjectStatus">
		<xs:sequence></xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="DeleteObjectRequest">
		<xs:complexContent>
			<xs:extension base="X1RequestMessage">
				<xs:sequence>
					<xs:element name="objectId" type="GenericObjectID"></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="ListObjectsOfTypeRequest">
		<xs:complexContent>
			<xs:extension base="X1RequestMessage">
				<xs:sequence>
					<xs:element name="objectType" type="GenericObjectType"></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="ListOfGenericObjectIDs"></xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>

	<xs:complexType name="ListOfGenericObjectIDs">
		<xs:sequence>
			<xs:element name="objectId" type="GenericObjectID" minOccurs="0" maxOccurs="unbounded"></xs:element>
		</xs:sequence>
	</xs:complexType>
	
</xs:schema>
+45 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
           xmlns="http://uri.etsi.org/03221/X1/2017/10/HashedID" 
           xmlns:x1="http://uri.etsi.org/03221/X1/2017/10" 
           xmlns:etsi103280="http://uri.etsi.org/03280/common/2017/07" 
           targetNamespace="http://uri.etsi.org/03221/X1/2017/10/HashedID" 
           elementFormDefault="qualified" version="1.9.1">

  <xs:import namespace="http://uri.etsi.org/03280/common/2017/07"/>
  <xs:import namespace="http://uri.etsi.org/03221/X1/2017/10"/>
  <!-- Message containers -->

  <xs:complexType name="HashContext">
    <xs:complexContent>
      <xs:extension base="x1:GenericObject">
        <xs:sequence>
          <xs:element name="hashAlgorithm" type="HashAlgorithm"></xs:element>
          <xs:element name="salt" type="Salt"></xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:simpleType name="HashAlgorithm">
    <xs:restriction base="xs:string">
      <xs:enumeration value="sha-256"/>
      <xs:enumeration value="sha-512"/>
      <xs:enumeration value="sha3-512"/>
    </xs:restriction>
  </xs:simpleType>
    
  <xs:simpleType name="Salt">
    <xs:restriction base="xs:hexBinary">
      <xs:minLength value="8"></xs:minLength>
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="HashedIdentifier">
    <xs:sequence>
      <xs:element name="hashContextID" type="x1:GenericObjectID"></xs:element>
      <xs:element name="targetIdentityType" type="etsi103280:ShortString"></xs:element>
      <xs:element name="hashDigest" type="xs:hexBinary"></xs:element>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
+38 −0
Original line number 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"
           xmlns:hashedID="http://uri.etsi.org/03221/X1/2017/10/HashedID">
  <x1RequestMessage xsi:type="CreateObjectRequest">
    <admfIdentifier>admfID</admfIdentifier>
    <neIdentifier>neID</neIdentifier>
    <messageTimestamp>2017-10-06T18:46:21.247432Z</messageTimestamp>
    <version>v1.9.1</version>
    <x1TransactionId>f9138c05-f82e-4cf4-a1ae-ae92fed2d564</x1TransactionId>
    <createObject xsi:type="hashedID:HashContext">
      <objectId>30fbde5e-3195-4a22-b3e9-15e1d60d0528</objectId>
      <hashedID:hashAlgorithm>sha-256</hashedID:hashAlgorithm>
      <hashedID:salt>4241792fc4d3d097</hashedID:salt>
    </createObject>
  </x1RequestMessage>
  <x1RequestMessage xsi:type="ActivateTaskRequest">
    <admfIdentifier>admfID</admfIdentifier>
    <neIdentifier>neID</neIdentifier>
    <messageTimestamp>2017-10-06T18:46:21.247432Z</messageTimestamp>
    <version>v1.9.1</version>
    <x1TransactionId>f9138c05-f82e-4cf4-a1ae-ae92fed2d565</x1TransactionId>
    <taskDetails>
      <xId>30fbde5e-3195-4a22-b3e9-15e1d60d0529</xId>
      <targetIdentifiers>
        <targetIdentifier>
          <hashedIdentifier>
            <hashedID:hashContextID>30fbde5e-3195-4a22-b3e9-15e1d60d0528</hashedID:hashContextID>
            <hashedID:targetIdentityType>InternationalE164</hashedID:targetIdentityType>
            <hashedID:hashDigest>303e57c6968f308a6a7df0ef48c0e21580bc29ae2ed1bd8e5466eb42e72cc39a</hashedID:hashDigest>
          </hashedIdentifier>
        </targetIdentifier>
      </targetIdentifiers>
      <deliveryType>X2andX3</deliveryType>
      <listOfDIDs></listOfDIDs>      
    </taskDetails>
  </x1RequestMessage>
</X1Request>
+16 −0
Original line number 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"
           xmlns:example="exampleGenericObject">
  <x1RequestMessage xsi:type="CreateObjectRequest">
    <admfIdentifier>admfID</admfIdentifier>
    <neIdentifier>neID</neIdentifier>
    <messageTimestamp>2017-10-06T18:46:21.247432Z</messageTimestamp>
    <version>v1.9.1</version>
    <x1TransactionId>3741800e-971b-4aa9-85f4-466d2b1adc7f</x1TransactionId>
    <createObject xsi:type="example:FooObject">
      <objectId>3741800e-971b-4aa9-85f4-466d2b1adc7e</objectId>
      <example:Foo>1</example:Foo>
    </createObject>
  </x1RequestMessage>
</X1Request>
+38 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns="exampleGenericObject"
           xmlns:x1="http://uri.etsi.org/03221/X1/2017/10"
           targetNamespace="exampleGenericObject" elementFormDefault="qualified">
  <xs:import namespace="http://uri.etsi.org/03221/X1/2017/10"/>
  
  <xs:complexType name="FooObject">
    <xs:complexContent>
      <xs:extension base="x1:GenericObject">
        <xs:sequence>
          <xs:element name="Foo" type="xs:int"></xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="FooStatus">
    <xs:complexContent>
      <xs:extension base="x1:GenericObjectStatus">
        <xs:sequence>
          <xs:element name="FooStatus" type="xs:string"></xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="BarObject">
    <xs:complexContent>
      <xs:extension base="x1:GenericObject">
        <xs:sequence>
          <xs:element name="Bar" type="xs:string"></xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  
</xs:schema>
 No newline at end of file
Loading