XSDAUX.ttcn 2.69 KB
Newer Older
module XSDAUX {//MRO
	/* 0.anySimpleType */
	type anytype anySimpleType;

	/* 1.string */
	type charstring string;

	/* 2.boolean */
	type integer bitXSD (1, 0) ;
	
	type union booleanXSD {
		bitXSD bit, boolean bool
	}

	/* 3.decimal */
	type float decimal;

	/* 4.float */
	type float floatXSD;

	/* 5.double */
	type float double;

	/* 6.duration */
	type charstring duration;

	/* 7.dateTime */
	type charstring dateTime;

	/* 8.time */
	type charstring time;

	/* 9.date */
	type charstring date;

	/* 10.gYearMonth */
	type charstring gYearMonth;

	/* 11.gYear */
	type charstring gYear;

	/* 12.gMonthDay */
	type charstring gMonthDay;

	/* 13.gDay */
	type charstring gDay;

	/* 14.gMonth */
	type charstring gMonth;

	/* 15.hexBinary */
	type hexstring hexBinary;

	/* 16.base64Binary */
	type charstring base64Binary;

	/* 17.anyURI */
	type charstring anyURI;

	/* 18.QName */
	type charstring QName;

	/* 19.NOTATION */
	type charstring NOTATION;

	/* 20.normalizedString */
	type charstring normalizedString;

	/* 21.token */
	type charstring token;

	/* 22.language */
	type charstring languageXSD;

	/* 23.NMTOKEN */
	type charstring NMTOKEN;

	/* 24.NMTOKENS */
	type set of charstring NMTOKENS;

	/* 25.Name */
	type charstring Name;

	/* 27.NCName */
	type charstring NCName;

	/* 28.ID */
	type charstring ID;

	/* 29.IDREFS */
	type set of charstring IDREFS;

	/* 30.ENTITY */
	type charstring ENTITY;

	/* 31.ENTITIES */
	type set of charstring ENTITIES;

	/* 32.nonPositiveInteger */
	type integer nonPositiveInteger (- infinity .. 0) ;

	/* 33.negativeInteger */
	type integer negativeInteger (- infinity .. - 1) ;

	/* 34.long */
//	type integer long (- 9223372036854775808 .. 9223372036854775807) ;//MRO

	/* 35.int */
	type integer int (- 2147483648 .. 2147483647) ;

	/* 36.short */
	type integer short (- 32768 .. 32767) ;

	/* 37.byte */
	type integer byte (- 128 .. 127) ;

	/* 38.nonNegativeInteger */
	type integer nonNegativeInteger (0 .. infinity) ;

	/* 39.unsignedLong */
	type integer unsignedLong (0 .. 18446744073709551615) ;//MRO

	/* 40.unsignedInt */
	type integer unsignedInt (0 .. 4294967295) ;

	/* 41.unsignedShort */
	type integer unsignedShort (0 .. 65535) ;

	/* 42.unsignedByte */
	type integer unsignedByte (0 .. 255) ;

	/* 43.positiveInteger */
	type integer positiveInteger (1 .. infinity) ;

	/* 44.integer */
	type integer integerXSD;

	/* 45.anyAttributes */
	type record of record {
		charstring name, 
		charstring val
	} anyAttributes;

	/* 46. anyType */
	/**
	 * This is to represent elements without a given type
	 */
	type record anyType {
	}
}