Altova XMLSpy 2024 Enterprise Edition

Le mappage par défaut des types Schéma XML dans les types de données C# est le suivant.

 

Schéma XML

C#

Remarques

xs:string

string


xs:boolean

bool


xs:decimal

decimal

xs:decimal dispose une plage et une précision illimitée, mappé vers les décimales pour des raisons d’efficacité.

xs:float, xs:double

double


xs:long

long


xs:unsignedLong

ulong


xs:int

int


xs:unsignedInt

uint


xs:dateTime, date, time, gYearMonth, gYear, gMonthDay, gDay, gMonth

Altova.Types.DateTime


xs:duration

Altova.Types.Duration


xs:hexBinary and xs:base64Binary

byte[]

L’encodage et le décodage des données binaires est effectué automatiquement.

xs:anySimpleType

string


 

Tous les types de Schéma XML qui ne sont pas contenus dans la liste sont des types dérivés, et mappés sur le même C# que leur type de base respectif.

 

Classes générées

Pour chaque type dans le schéma, une classe est générée qui contient un membre pour chaque attribut et élément du type. Les membres sont nommés comme les attributs ou éléments dans le schéma original (en cas d’une collision éventuelle, un nombre est ajouté). Pour les types simples, des opérateurs d’attribution et de conversion sont générés. Pour des types simples avec des facettes d’énumération, les méthodes GetEnumerationValue() et SetEnumerationValue(int) peuvent être utilisés ensemble avec des constantes générées pour chaque valeur d’énumération. De plus, la méthode StaticInfo() permet l’accès à l’information de schéma en tant qu’un des types suivants :

 

Altova.Xml.Meta.SimpleType

Altova.Xml.Meta.ComplexType

 

Les classes générées depuis des types complexes comprennent la méthode SetXsiType(), qui vous permet de définir l’attribut xsi:type du type. Cette méthode est utile si vous souhaitez créer des éléments d’instance XML d’un type dérivé.

 

Outre les classes pour les types déclarés dans le schéma XML, une classe de document (identifiée par "Doc", voir ci-dessous) est générée. Elle contient tous les éléments root possibles, en tant que membres, ainsi que plusieurs autres méthodes. Pour plus d’informations concernant la classe, voir [YourSchema].[Doc].

 

Note:        Le véritable nom de la classe dépend du nom du schéma .xsd.

 

Pour chaque attribut ou élément membre d’un type de schéma, une nouvelle classe est générée. Pour plus d’informations concernant ces classes, voir :

 

[YourSchemaType].MemberAttribute

[YourSchemaType].MemberElement

 

Note:        Les véritables noms de la classe dépendent du nom de l’attribut ou de l’élément membre du schéma.

 

Gestion d'erreur

Les erreurs sont rapportées par exceptions. Les classes d’exception suivantes sont définies dans l’espace de noms Altova :

 

Classe

Classe de Base

Description

ConversionException

Exception

Exception lancée lorsqu’une conversion de type échoue

StringParseException

ConversionException

Une valeur dans l’espace lexical ne peut pas être converti dans un espace de valeur.

DataSourceUnavailableException

System.Exception

Un problème est survenu pendant le chargement d’une instance XML.

DataTargetUnavailableException

System.Exception

Un problème est survenu pendant l’enregistrement d’une instance XML.

 

NET suivantes sont utilisées communément :

 

Classe

Description

System.Exception

Classe de Base pour les erreurs de runtime

System.ArgumentException

Une méthode a été appelée avec des valeurs d’argument invalide, ou bien une conversion de type a échoué.

System.FormatException

Une valeur dans l’espace lexical ne peut pas être converti dans un espace de valeur.

System.InvalidCastException

Une valeur ne peut pas être converie dans un autre type.

System.OverflowException

Une valeur de source ne peut pas être représentée dans un domaine cible.

 

Accéder à l’information de schéma

La bibliothèque générée permet d’accéder à des informations de schéma statique par le biais des classes suivantes :

 

Altova.Xml.Meta.Attribute

Altova.Xml.Meta.ComplexType

Altova.Xml.Meta.Element

Altova.Xml.Meta.SimpleType

 

Les propriétés qui retournent une de ces classes des métadonnées retournent null si la propriété respective n’existe pas.

© 2017-2023 Altova GmbH