RELATIVE-OID

There is no built-in XSD type that corresponds to the ASN.1 RELATIVE-OID type. For this reason, a custom type was created in the Objective Systems XSD run-time library (asn1.xsd) to model this type. This type is asn1:RelativeOID and has the following definition:

   <xsd:simpleType name="RelativeOID">
      <xsd:restriction base="xsd:token">
         <xsd:pattern value="\d(\.\d)*"/>
      </xsd:restriction>
   </xsd:simpleType>

This is similar to the OBJECT IDENTIFIER type discussed in the previous section except in this case, the pattern is simpler. The arc numbers in a RELATIVE-OID are not restricted in any way, hence the simpler pattern. The ASN.1 RELATIVE-OID type is converted into a reference to this custom type as follows:

ASN.1 production:

   TypeName ::= RELATIVE-OID

Generated XSD code:

   <xsd:simpleType name="TypeName">
      <xsd:restriction base="asn1:RelativeOID"/>
   </xsd:simpleType>