Character String Types

All ASN.1 character string useful types (IA5String, VisibleString, etc.) are mapped to the XSD string type.

ASN.1 production:

   TypeName ::= ASN1CharStringType

in this definition, ASN1CharStringType would be replaced with one of the ASN.1 Character String types such as VisibleString.

Generated XSD code:

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

ASN.1 character string types may contain a size constraint. This is converted into minLength and maxLength facets in the generated XSD definition:

ASN.1 production:

   TypeName ::= ASN1CharStringType (SIZE (lower..upper))

Generated XSD code:

   <xsd:simpleType name="TypeName">
      <xsd:restriction base="xsd:string">
         <xsd:minLength value="lower"/>
         <xsd:maxLength value="upper"/>
      </xsd:restriction>
   </xsd:simpleType>

ASN.1 character string types may also contain permitted alphabet or pattern constraints. These are converted into pattern facets in the generated XSD definition:

ASN.1 production:

   TypeName ::= ASN1CharStringType (FROM (charSet))

or

   TypeName ::= ASN1CharStringType (PATTERN (pattern))

Generated XSD code:

   <xsd:simpleType name="TypeName">
      <xsd:restriction base="xsd:string">
         <xsd:pattern value="pattern"/>
      </xsd:restriction>
   </xsd:simpleType

In this case, the permitted alphabet character set (charSet) is converted into a corresponding pattern for use in the generated XML schema definition.