Datentypunterstützung zwischen XML-Schematypen (XSD) und .NET Framework-Typen
In der XML-Schemaempfehlung des W3C (World Wide Web Consortium) sind im entsprechenden Abschnitt (http://www.w3.org/TR/xmlschema-2) die Datentypen aufgelistet, die in XML-Schemas verwendet werden können.
Diese Datentypen werden als Instanzen der XmlSchemaDatatype-Klasse dargestellt, die über die ValueType-Eigenschaft und TokenizedType-Eigenschaft verfügt. Diese Eigenschaften stellen jeweils den Typnamen, wie in der XML 1.0-Empfehlung angegeben, und den Namen des entsprechenden .NET Framework-Typs dar.
Die XmlSchemaElement-Klasse und die XmlSchemaAttribute-Klasse verfügen über die ElementType-Eigenschaft und die AttributeType-Eigenschaft, die ein XmlSchemaDatatype für den XML-Schematyp des Elements oder Attributs nach der Überprüfung und Kompilierung des Schemas enthalten.
In der folgenden Tabelle ist die Zuordnung von XML-Schema-Datentypen zu den entsprechenden .NET Framework-Typen dargestellt.
XML Schematyp (XSD) | .NET Framework-Typ |
---|---|
anyURI | System.Uri |
base64Binary | System.Byte[] |
Boolean | System.Boolean |
Byte | System.SByte |
Date | System.DateTime |
dateTime | System.DateTime |
decimal | System.Decimal |
Double | System.Double |
duration | System.TimeSpan |
ENTITIES | System.String[] |
ENTITY | System.String |
Float | System.Single |
gDay | System.DateTime |
gMonthDay | System.DateTime |
gYear | System.DateTime |
gYearMonth | System.DateTime |
hexBinary | System.Byte[] |
ID | System.String |
IDREF | System.String |
IDREFS | System.String[] |
int | System.Int32 |
integer | System.Decimal |
language | System.String |
long | System.Int64 |
month | System.DateTime |
Name | System.String |
NCName | System.String |
negativeInteger | System.Decimal |
NMTOKEN | System.String |
NMTOKENS | System.String[] |
nonNegativeInteger | System.Decimal |
nonPositiveInteger | System.Decimal |
normalizedString | System.String |
NOTATION | System.String |
positiveInteger | System.Decimal |
QName | System.Xml.XmlQualifiedName |
short | System.Int16 |
string | System.String |
time | System.DateTime |
timePeriod | System.DateTime |
token | System.String |
unsignedByte | System.Byte |
unsignedInt | System.UInt32 |
unsignedLong | System.UInt64 |
unsignedShort | System.UInt16 |