-- Module XSDv1 (X.694 (2004) Amd.1:05/2007)
-- See also ITU-T X.694 (2004) Amend. 1 (05/2007)
-- 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 */})

AnyType-nillable ::= 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,
  content
    SEQUENCE {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 */ })
  } OPTIONAL
}
(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: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:ID */
ID ::= NCName

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

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

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

/* 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: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: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: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: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 types */
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
	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, Boolean,
			Byte, Date, DateTime, Decimal, Double, Duration,
		Float, GDay, GMonth, GMonthDay, GYear, GYearMonth,
		Int, Language, Long, NormalizedString, Short, 
		String, Time, Token,
		UnsignedInt, UnsignedLong, UnsignedShort
		AS UNCAPITALIZED
	USE-NIL AnyType-nillable
	WHITESPACE AnyURI, Language, Token, DurationType, DateTimeType COLLAPSE
	WHITESPACE NormalizedString REPLACE
END
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D