module yuma-xsd { namespace "http://www.w3.org/2001/XMLSchema"; prefix "xsd"; organization "Netconf Central"; contact "Andy Bierman "; description "XSD derived types for usage in YANG."; revision 2009-11-21 { description "Rename xsd to yuma-xsd."; } revision 2007-12-06 { description "Initial revision. There is more work to do filling in patterns for some of the string types"; } // The string data type is a YANG builtin type and not // available in this module. typedef normalizedString { description "XSD normalized string"; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028' + '/datatypes.html#normalizedString'; type string; } typedef token { description "XSD token string"; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#token'; type string; } typedef base64Binary { description "XSD base64 binary encoded string"; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#base64Binary'; type string; } typedef hexBinary { description "XSD hex binary encoded string"; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#hexBinary'; type binary; } typedef integer { description "XSD unbounded integer type. This cannot be given a range like a number. This pattern does not supoort string representations of numbers, such as one two three"; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#integer'; type string { pattern '[\-+]?[0-9]+'; } } typedef positiveInteger { description "XSD unbounded positive integer. This cannot be given a range like a number. This pattern does not supoort string representations of numbers, such as one two three"; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#positiveInteger'; type string { pattern '[\+]?[1-9]+[0-9]*'; } } typedef negativeInteger { description "XSD unbounded negative integer. This cannot be given a range like a number. This pattern does not supoort string representations of numbers, such as one two three"; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#negativeInteger'; type string { pattern '[\-]?[1-9]+[0-9]*'; } } typedef nonNegativeInteger { description "XSD unbounded non-negative integer. This cannot be given a range like a number. This pattern does not supoort string representations of numbers, such as one two three"; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#nonNegativeInteger'; type string { pattern '[\+]?[0-9]*'; } } typedef nonPositiveInteger { description "XSD unbounded non-positive integer. This cannot be given a range like a number. This pattern does not supoort string representations of numbers, such as one two three"; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#nonPositiveInteger'; type string { pattern '\-[1-9]+[0-9]*'; } } typedef long { description "XSD 64 bit signed integer."; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#long'; type int64; } typedef unsignedLong { description "XSD 64 bit unsigned integer."; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#unsignedLong'; type uint64; } typedef int { description "XSD 32 bit signed integer."; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#int'; type int32; } typedef unsignedInt { description "XSD 32 bit unsigned integer."; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#unsignedInt'; type uint32; } typedef short { description "XSD 16 bit signed integer."; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#short'; type int16; } typedef unsignedShort { description "XSD 16 bit unsigned integer."; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#unsignedShort'; type uint16; } typedef byte { description "XSD 8 bit signed integer."; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#byte'; type int8; } typedef unsignedByte { description "XSD 8 bit unsigned integer."; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#unsignedByte'; type uint8; } typedef decimal { description "XSD decimal data type. [To do: not sure if this is a bounded real number or an unbounded real number.]."; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#decimal'; type string; } // The boolean type is a builtin type in YANG so it // not available in this XSD module. typedef duration { description "XSD duration string type."; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#duration'; type string; } typedef dateTime { description "XSD date and time string type."; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#dateTime'; type string { // adapted date-and-time pattern pattern '-?\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?' + '(Z|(\+|-)\d{2}:\d{2})'; } } typedef date { description "XSD date string type."; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#date'; type string; } typedef time { description "XSD time string type."; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#time'; type string; } typedef gYear { description "XSD year string type."; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#gYear'; type string; } typedef gYearMonth { description "XSD year and month string type."; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#gYearMonth'; type string; } typedef gMonth { description "XSD month string type."; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#gMonth'; type string; } typedef gMonthDay { description "XSD month and day string type."; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#gMonthDay'; type string; } typedef gDay { description "XSD day string type."; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#gDay'; type string; } typedef Name { description "XSD name string type."; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#Name'; type string; } typedef QName { description "XSD namespace-qualified name string type."; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#QName'; type string; } typedef NCName { description "XSD not-namespace-qualified name string type."; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#NCName'; type string { pattern '[\i-[:]][\c-[:]]*'; } } typedef anyURI { description "XSD universal resource identifier string type."; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#anyURI'; type string; } typedef language { description "XSD language identifier string type."; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#language'; type string; } typedef ID { description "XSD ID attribute type."; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#ID'; type string; } typedef IDREF { description "XSD IDREF attribute type."; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#IDREF'; type string; } typedef IDREFS { description "XSD IDREFS attribute type."; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#IDREFS'; type string; } typedef ENTITY { description "XSD ENTITY attribute type."; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#ENTITY'; type string; } typedef ENTITIES { description "XSD ENTITIES attribute type."; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#ENTITIES'; type string; } typedef NOTATION { description "XSD NOTATION attribute type."; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#NOTATION'; type string; } typedef NMTOKEN { description "XSD NMTOKEN attribute type."; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#NMTOKEN'; type string; } typedef NMTOKENS { description "XSD NMTOKENS attribute type."; reference 'http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/' + 'datatypes.html#NMTOKENS'; type string; } }