There is no built-in XSD type that corresponds to the ASN.1 OBJECT IDENTIFIER 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:ObjectIdentifier and has the following definition:
<xsd:simpleType name="ObjectIdentifier"> <xsd:restriction base="xsd:token"> <xsd:pattern value= "[0-2]((\.[1-3]?[0-9])(?\.\d)*)?"/> </xsd:restriction> </xsd:simpleType>
The pattern enforces the rule in the X.680 standard that the first arc value of an OID must be between 0 and 2, the second arc must be between 0 and 39, and the remaining arcs can be any number. The ASN.1 OBJECT IDENTIFIER type is converted into a reference to this custom type as follows:
ASN.1 production:
TypeName ::= OBJECT IDENTIFIER
Generated XSD code:
<xsd:simpleType name="TypeName"> <xsd:restriction base="asn1:ObjectIdentifier"/> </xsd:simpleType>