92 votes

Quel est le but des fichiers XSD?

bien que nous puissions interroger le fichier XML à partir de c # (.net). pourquoi besoin de fichier .xsd? Je sais que c'est un fichier de métadonnées d'un fichier XML particulier. nous pouvons spécifier les relations dans xsd. mais quel est son fonctionnement alors?

Sure: Voir, j'ai le xml:

 <?xml version="1.0" encoding="utf-8" ?>
<Root>
  Customers->
    ->Customer 
        ->CustomerID="GREAL">->
      <CompanyName>Great Lakes Food Market</CompanyName>
      <ContactName>Howard Snyder</ContactName>
      <ContactTitle>Marketing Manager</ContactTitle>
      <Phone>(503) 555-7555</Phone>
      <FullAddress>
        <Address>2732 Baker Blvd.</Address>
        <City>Eugene</City>
        <Region>OR</Region>
        <PostalCode>97403</PostalCode>
        <Country>USA</Country>
      </FullAddress>
    <-</Customer>

 <- </Customers>



<Orders>
    <Order>
      <CustomerID>GREAL</CustomerID>
      <EmployeeID>6</EmployeeID>
      <OrderDate>1997-05-06T00:00:00</OrderDate>
      <RequiredDate>1997-05-20T00:00:00</RequiredDate>
      <ShipInfo ShippedDate="1997-05-09T00:00:00">
        <ShipVia>2</ShipVia>
        <Freight>3.35</Freight>
        <ShipName>Great Lakes Food Market</ShipName>
        <ShipAddress>2732 Baker Blvd.</ShipAddress>
        <ShipCity>Eugene</ShipCity>
        <ShipRegion>OR</ShipRegion>
        <ShipPostalCode>97403</ShipPostalCode>
        <ShipCountry>USA</ShipCountry>
      </ShipInfo>
    </Order>


    <Order>
      <CustomerID>GREAL</CustomerID>
      <EmployeeID>8</EmployeeID>
      <OrderDate>1997-07-04T00:00:00</OrderDate>
      <RequiredDate>1997-08-01T00:00:00</RequiredDate>
      <ShipInfo ShippedDate="1997-07-14T00:00:00">
        <ShipVia>2</ShipVia>
        <Freight>4.42</Freight>
        <ShipName>Great Lakes Food Market</ShipName>
        <ShipAddress>2732 Baker Blvd.</ShipAddress>
        <ShipCity>Eugene</ShipCity>
        <ShipRegion>OR</ShipRegion>
        <ShipPostalCode>97403</ShipPostalCode>
        <ShipCountry>USA</ShipCountry>
      </ShipInfo>
    </Order>

  </Orders>
</Root>
 

Je veux obtenir des données des éléments ORDERS conformément à CustomeId fourni.

Les questions sont également : Quel est le but de donner les relations dans xsd.

109voto

Oded Points 271275

Les fichiers XSD sont utilisés pour valider le XML, c'est-à-dire se conformer à un certain format.

À cet égard, elles sont similaires aux DTD qui existaient auparavant.

La principale différence entre XSD et DTD est que XSD est écrit en XML et est considéré comme plus facile à lire et à comprendre.

49voto

Oleg Points 136406

Sans schéma XML (fichier XSD), un fichier XML est un ensemble d'éléments et d'attributs relativement libre. Le fichier XSD définit quels éléments et attributs sont autorisés et dans quel ordre.

En général, XML est un métalangage. Les fichiers XSD définissent des langues spécifiques au sein de ce métalangage. Par exemple, si votre fichier XSD contient la définition de XHTML 1.0, votre fichier XML doit s’adapter à XHTML 1.0 plutôt qu’à un autre format.

20voto

Garry Points 648

Vous mentionnez C # dans votre question, il est donc utile de penser à XSD jouant un rôle similaire à celui d'une interface C #.

Il définit à quoi doit ressembler le XML de la même manière qu'une interface définit ce qu'une classe doit implémenter.

12voto

Robert Points 3044

Les questions sont également: Quel est le but de donner les relations dans xsd.

Supposons que vous souhaitiez générer du code XML pour un outil d'un tiers, ou similaire - comment sauriez-vous quelle structure il est autorisé à suivre pour être utilisé correctement pour cet outil? vous écrivez à un schéma. De même, si vous souhaitez que d'autres personnes utilisent votre outil, vous devez écrire un schéma à suivre. Cela peut également être utile pour valider votre propre XML.

5voto

delnan Points 52260

Un fichier .xsd est appelé schéma XML. Via un schéma XML, nous pouvons avoir besoin d’une certaine structure dans un XML donné - quels éléments dans quel ordre, combien de fois, avec quels attributs, comment ils sont imbriqués, etc. Si nous avons un schéma pour notre entrée XML, nous pouvons vérifier qu'il contient les données dont nous avons besoin, et rien d'autre, avec quelques lignes appelant un validateur de schéma.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X