-- Module XSD (X.694:01/2004)
-- See also ITU-T X.694 (01/2004)
-- See also the index of all ASN.1 assignments needed in this document


XSD {joint-iso-itu-t asn1(1) specification(0) modules(0) xsd-module(2) version1(1)}
DEFINITIONS AUTOMATIC TAGS ::=
BEGIN

/* xsd:anySimpleType */
AnySimpleType ::= XMLCompatibleString

/* xsd:anyType */
AnyType ::= SEQUENCE {
  embed-values  SEQUENCE OF String,
  attr
    SEQUENCE  
      (CONSTRAINED BY {
         
         /* Each item shall conform to the "AnyAttributeFormat" specified
in ITU-T Rec. X.693 | ISO/IEC 8825-4, clause 18 */
})

      OF String,
  elem-list
    SEQUENCE OF elem
      String
        (CONSTRAINED BY {
           
           /* Shall conform to the "AnyElementFormat" specified
        in ITU-T Rec. X.693 | ISO/IEC 8825-4, clause 19 */
})

}
(CONSTRAINED BY {
   
   /* Shall conform to ITU-T Rec. X.693 | ISO/IEC 8825-4, clause 25 */})


/* xsd:anyUri */
AnyURI ::=
  XMLStringWithNoCRLFHT
    (CONSTRAINED BY {
       
       /* The XMLStringWithNoCRLFHT shall be a valid URI as defined in IETF RFC 2396 */})


/* xsd:base64Binary */
Base64Binary ::= OCTET STRING

/* xsd:boolean */
Boolean ::= BOOLEAN

/* xsd:byte */
Byte ::= INTEGER(-128..127)

/* xsd:date */
Date ::= DateTimeType(DateOnly)

/* xsd:dateTime */
DateTime ::= DateTimeType

/* xsd:decimal */
Decimal ::=
  REAL(WITH COMPONENTS {
         ...,
         base  (10)
       })

    (ALL EXCEPT (-0 | MINUS-INFINITY | PLUS-INFINITY| NOT-A-NUMBER))

/* xsd:double */
Double ::=
  REAL
    (WITH COMPONENTS {
       mantissa  (-9007199254740991..9007199254740991),
       base      (2),
       exponent  (-1075..970)
     })


/* xsd:duration */
Duration ::= DurationType

/* xsd:ENTITIES */
ENTITIES ::= SEQUENCE (SIZE (1..MAX)) OF ENTITY

/* xsd:ENIITY */
ENTITY ::= NCName

/* xsd:float */
Float ::=
  REAL
    (WITH COMPONENTS {
       mantissa  (-16777215..16777215),
       base      (2),
       exponent  (-149..104)
     })


/* xsd:gDay */
GDay ::= DateTimeType(Day)

/* xsd:gMonth */
GMonth ::= DateTimeType(Month)

/* xsd:gMonthDay */
GMonthDay ::= DateTimeType(MonthDay)

/* xsd:gYear */
GYear ::= DateTimeType(Year)

/* xsd:gYearMonth */
GYearMonth ::= DateTimeType(YearMonth)

/* xsd:hexBinary */
HexBinary ::= OCTET STRING

/* xsd:ID */
ID ::= NCName

/* xsd:IDREF */
IDREF ::= NCName

/* xsd:IDREFS */
IDREFS ::= SEQUENCE (SIZE (1..MAX)) OF IDREF

/* xsd:int */
Int ::= INTEGER(-2147483648..2147483647)

/* xsd:integer */
Integer ::= INTEGER

/* xsd:language */
Language ::=
  VisibleString(FROM ("a".."z" | "A".."Z" | "-" | "0".."9"))
    (PATTERN "[a-zA-Z]#(1,8)(-[a-zA-Z0-9]#(1,8))*")

/* The semantics of Language is specified in IETF RFC 3066 */
/* xsd:long */
Long ::= INTEGER(-9223372036854775808..9223372036854775807)

/* xsd:name */
Name ::=
  Token(XMLStringWithNoWhitespace)
    (CONSTRAINED BY {
       
       /* The Token shall be a Name as defined in W3C XML 1.0, 2.3 */})


/* xsd:NCName */
NCName ::=
  Name
    (CONSTRAINED BY {
       
       /* The Name shall be an NCName as defined in W3C XML Namespaces, 2 */})


/* xsd:negativeInteger */
NegativeInteger ::= INTEGER(MIN..-1)

/* xsd:NMTOKEN */
NMTOKEN ::=
  Token(XMLStringWithNoWhitespace)
    (CONSTRAINED BY {
       
       /* The Token shall be an NMTOKEN as defined in W3C XML 1.0, 2.3 */})


/* xsd:NMTOKENS */
NMTOKENS ::= SEQUENCE (SIZE (1..MAX)) OF NMTOKEN

/* xsd:nonNegativeInteger */
NonNegativeInteger ::= INTEGER(0..MAX)

/* xsd:nonPositiveInteger */
NonPositiveInteger ::= INTEGER(MIN..0)

/* xsd:normalizedString */
NormalizedString ::=
  String(XMLStringWithNoCRLFHT)
    (CONSTRAINED BY {
       
       /* The String shall be a normalizedString as defined in W3C XML Schema Part 2, 3.3.1 */})


/* xsd:NOTATION */
NOTATION ::= QName

/* xsd:positiveInteger */
PositiveInteger ::= INTEGER(1..MAX)

/* xsd:QName */
QName ::= SEQUENCE {uri   AnyURI OPTIONAL,
                    name  NCName
}

/* xsd:short */
Short ::= INTEGER(-32768..32767)

/* xsd:string */
String ::= XMLCompatibleString

/* xsd:time */
Time ::= DateTimeType(TimeOnly)

/* xsd:token */
Token ::=
  NormalizedString
    (CONSTRAINED BY {
       
       /* The NormalizedString shall be a token as defined in W3C XML Schema Part 2, 3.3.2 */})


/* xsd:unsignedByte */
UnsignedByte ::= INTEGER(0..255)

/* xsd:unsignedInt */
UnsignedInt ::= INTEGER(0..4294967295)

/* xsd:unsignedLong */
UnsignedLong ::= INTEGER(0..18446744073709551615)

/* xsd:unsignedShort */
UnsignedShort ::= INTEGER(0..65535)

/* ASN.1 type definitions supporting the mapping of W3C XML Schema built-in datatypes */
XMLCompatibleString ::=
  UTF8String
    (FROM ({0, 0, 0, 9} | {0, 0, 0, 10} | {0, 0, 0, 13} |
           {0, 0, 0, 32}..{0, 0, 215, 255} | {0, 0, 224, 0}..{0, 0, 255, 253} |
           {0, 1, 0, 0}..{0, 16, 255, 253})
)


XMLStringWithNoWhitespace ::=
  UTF8String
    (FROM ({0, 0, 0, 33}..{0, 0, 215, 255} | {0, 0, 224, 0}..{0, 0, 255, 253} |
           {0, 1, 0, 0}..{0, 16, 255, 253})
)


XMLStringWithNoCRLFHT ::=
  UTF8String
    (FROM ({0, 0, 0, 32}..{0, 0, 215, 255} | {0, 0, 224, 0}..{0, 0, 255, 253} |
           {0, 1, 0, 0}..{0, 16, 255, 253})
)


/* ASN.1 type definitions supporting the mapping of W3C XML Schema built-in date and time datatypes */
DurationType ::=
  VisibleString(FROM ("0".."9" | "DHMPSTY:.+-"))
    (CONSTRAINED BY { /* W3C XML Schema Part 2, 3.2.6 */})

DateTimeType ::=
  VisibleString(FROM ("0".."9" | "TZ:.+-"))
    (CONSTRAINED BY { /* W3C XML Schema Part 2, 3.2.7 */})

DateOnly ::=
  DateTimeType(FROM ("0".."9" | "Z:+-"))
    (CONSTRAINED BY { /* W3C XML Schema Part 2, 3.2.9 */})

Day ::=
  DateTimeType(FROM ("0".."9" | "Z:+-"))
    (CONSTRAINED BY { /* W3C XML Schema Part 2, 3.2.13 */})

Month ::=
  DateTimeType(FROM ("0".."9" | "Z:+-"))
    (CONSTRAINED BY { /* W3C XML Schema Part 2, 3.2.14 */})

MonthDay ::=
  DateTimeType(FROM ("0".."9" | "Z:+-"))
    (CONSTRAINED BY { /* W3C XML Schema Part 2, 3.2.12 */})

Year ::=
  DateTimeType(FROM ("0".."9" | "Z:+-"))
    (CONSTRAINED BY { /* W3C XML Schema Part 2, 3.2.11 */})

YearMonth ::=
  DateTimeType(FROM ("0".."9" | "Z:+-"))
    (CONSTRAINED BY { /* W3C XML Schema Part 2, 3.2.10 */})

TimeOnly ::=
  DateTimeType(FROM ("0".."9" | "Z:.+-"))
    (CONSTRAINED BY { /* W3C XML Schema Part 2, 3.2.8 */})

ENCODING-CONTROL XER
GLOBAL-DEFAULTS MODIFIED-ENCODINGS
GLOBAL-DEFAULTS CONTROL-NAMESPACE
"http://www.w3.org/2001/XMLSchema-instance"
PREFIX "xsi"
NAMESPACE ALL, ALL IN ALL AS 
"http://www.w3.org/2001/XMLSchema" 
PREFIX "xsd"
USE-QNAME QName
BASE64 Base64Binary
DECIMAL Decimal
LIST ENTITIES, IDREFS, NMTOKENS
EMBED-VALUES AnyType
ANY-ATTRIBUTES AnyType.attr
ANY-ELEMENT AnyType.elem-list.*
UNTAGGED AnyType.elem-list
NAME AnySimpleType, AnyURI, Base64Binary, Boolean,
Byte, Date, DateTime, Decimal, Double, Duration,
Float, GDay, GMonth, GMonthDay, GYear, GYearMonth,
HexBinary, Int, Integer, Language, Long, 
NegativeInteger, NonNegativeInteger, NonPositiveInteger,
NormalizedString, PositiveInteger, Short, 
String, Time, Token, 
UnsignedByte, UnsignedInt, UnsignedLong, UnsignedShort
AS UNCAPITALIZED
WHITESPACE AnyURI, Language, Token, DurationType, DateTimeType COLLAPSE
WHITESPACE NormalizedString REPLACE

END

-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D