Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Thema werden einige Implementierungsdetails beschrieben, auf die Sie achten möchten.
Listenzuordnungen
Die Typen IList, ICollection, IEnumerable, Type[] und String werden verwendet, um XSD-Listentypen (XML Schema Definition Language) darzustellen.
Union-Zuordnungen
Union-Typen werden durch den XmlAtomicValue-Typ oder den String-Typ dargestellt. Der Quelltyp oder der Zieltyp muss daher immer entweder String oder XmlAtomicValue sein.
Wenn das XmlSchemaDatatype Objekt einen Listentyp darstellt, konvertiert das Objekt den Eingabezeichenfolgenwert in eine Liste mit einem oder mehreren Objekten. Wenn das XmlSchemaDatatype-Objekt einen Union-Typ darstellt, wird versucht, den Eingabewert als einen Membertyp der Union zu interpretieren. Wenn der Analyseversuch fehlschlägt, versucht man die Konvertierung mit dem nächsten Mitglied der Vereinigung und so weiter, bis die Konvertierung erfolgreich ist oder keine weiteren Mitgliedstypen mehr vorhanden sind. In diesem Fall wird eine Ausnahme ausgelöst.
Unterschiede zwischen CLR- und XML-Datentypen
Im Folgenden werden bestimmte Unübereinstimmungen beschrieben, die zwischen CLR-Typen und XML-Datentypen und deren Behandlung auftreten können.
Hinweis
Das xs
Präfix wird dem https://www.w3.org/2001/XMLSchema und dem Namespace-URI zugeordnet.
"System.TimeSpan" und "xs:duration"
Der xs:duration
Typ ist teilweise sortiert, da bestimmte Dauerwerte unterschiedlich, aber gleichwertig sind. Dies bedeutet, dass der xs:duration
-Typwert wie 1 Monat (P1M) weniger als 32 Tage (P32D), mehr als 27 Tage (P27D) ist und 28, 29 oder 30 Tagen entspricht.
Diese partielle Sortierung wird von der TimeSpan Klasse nicht unterstützt. Stattdessen wird eine bestimmte Anzahl von Tagen für 1 Jahr und 1 Monat ausgewählt; 365 Tage bzw. 30 Tage.
Weitere Informationen zum xs:duration
Typ finden Sie im W3C-XML-Schemateil 2: Empfehlung für Datentypen.
"xs:time", Typen für das gregorianische Datum und "System.DateTime"
Wenn ein xs:time
Wert einem DateTime Objekt zugeordnet wird, wird das MinValue Feld verwendet, um die Datumseigenschaften des DateTime Objekts (z. B. Year, Month und Day) auf den kleinsten möglichen DateTime Wert zu initialisieren.
Ebenso werden Instanzen von xs:gMonth
, xs:gDay
, xs:gYear
und xs:gYearMonth
xs:gMonthDay
werden auch einem DateTime Objekt zugeordnet. Nicht verwendete Eigenschaften des DateTime-Objekts werden mit den Werten von MinValue initialisiert.
Hinweis
Sie können sich nicht auf den DateTime.Year Wert verlassen, wenn der Inhalt als xs:gMonthDay
getippt wird. Der DateTime.Year Wert wird in diesem Fall immer auf 1904 festgelegt.
"xs:anyURI" und "System.Uri"
Wenn eine Instanz von xs:anyURI
, die einen relativen URI darstellt, einem Uri zugeordnet ist, hat das Uri-Objekt keinen Basis-URI.