Hvordan lage en XSD fra en eksisterende XML

Hvordan lage en XSD fra en eksisterende XML


Et XML-skjema, som inneholdes i en XSD dokument beskriver strukturen til et XML-dokument. Når et XML-dokument abonnerer på et skjema, håndhever skjema bruken av den beskrevne struktur, som sikrer gyldig XML. Dette gjør feilfritt utveksling av informasjon. Du kan generere en XSD enten ved å generere et skjema manuelt eller ved hjelp av Windows SDK xsd.exe verktøyet.

Bruksanvisning

Manuelt Opprette et skjema fra en XML-fil

1 Validere XML. Åpne XML-dokument i Internet Explorer. Hvis det viser komplett dokument med markup og ikke en feil, er XML gyldig.

For eksempel opprettet et XML-dokument med henblikk på å organisere en fest kan se slik ut:

<? Xml version = \ "1.0 \" encoding = \ "ISO-8859-1 \"?>

<Fest xmlns: xsi = \ "http://www.w3.org/2001/XMLSchema-instance\&quot;
XSI: noNamespaceSchemaLocation = \ "party.xsd \"
Date = \ "1/1/2011 \" Name = \ "newYears2011 \">
<Gjestene>
<Gjeste>
<Fornavn> Jack </ Firstname>
<Lastname> London </ Lastname>
<Kjønn> Menn </ Kjønn>
<ZodiacSign> Kreft </ ZodiacSign>
</ Guest>
<Gjeste>
<Fornavn> Jill </ Firstname>
<Lastname> Anderson </ Lastname>
<Kjønn> Dame </ Kjønn>
<ZodiacSign> Aquarius </ ZodiacSign>
<RelationshipStatus> Enkelt </ RelationshipStatus>
</ Guest>

</ Gjestene>
<rekvisita>
<Rekvisita>
<Beskrivelse> Beer </ description>
<Type> Alkoholholdige drikke </ type>
<Cost> 27.99 </ pris>
<Antall> 24 </ Antall>
</ Rekvisita>
<Rekvisita>
<Beskrivelse> Cups </ description>
<Type> Engangs </ type>
<Cost> 3.99 </ pris>
<Antall> 100 </ Antall>
</ Rekvisita>
</ Rekvisita>
<Toast> Her er til 2011. Kan henne fabulousness sette 2010 til skamme. </ Toast>
</ Fest>

2 Lag en XSD skjema basert på XML. Beskriv hvert element på hvert nivå. På den andre linjen, erklære skjemaet. De to første linjene av markup for vårt parti XSD, lagret som \ "party.xsd, \" ville se slik ut:

<? Xml version = \ "1.0 \" encoding = \ "ISO-8859-1 \"?>
<xs: schema xmlns: xs = \ "http://www.w3.org/2001/XMLSchema\&quot;>

3 Deretter beskriver hver XML-koden som et element i markeringen. Elementet kan enten være en enkel type, angitt i attributten \ "type, \" eller et kompleks-type, som er beskrevet i nestede koder inne i elementet.

Vårt eksempel har en kompleks typen element av gjestene, en kompleks typen element av rekvisita og en primitiv element av typen streng som skjemaet erklærer etter behov. Gjest og Forsynings elementene er også komplisert og beskrevet ned til de primitive typer de inneholder. Endelig er de attributtene av den typen partiet definert rett før du lukker \ "x: complex \" tag. Det vil på denne måten:

<? Xml version = \ "1.0 \" encoding = \ "ISO-8859-1 \"?>
<xs: schema xmlns: xs = \ "http://www.w3.org/2001/XMLSchema\&quot;>
<Xs: element name = \ "Party \">
<Xs: complex>

&lt;xs:sequence>
&lt;xs:element name=\&quot;Guests\&quot; >

<Xs: complex>
<xs: sekvens>
<Xs: element name = \ "Gjest \" maxOccurs = \ "grenseløs \">
<Xs: complex>
<Xs: element name = \ "Firstname \" type = \ "xs: string \" />

&lt;xs:element name=\&quot;LastName\&quot; type=\&quot;xs:string\&quot;/>

<Xs: element name = \ "Gender \" type = \ "xs: string \" />

&lt;xs:element name=\&quot;RelationshipStatus\&quot; type=\&quot;xs:string\&quot;/>
&lt;xs:element name=\&quot;ZodiacSign\&quot; type=\&quot;xs:string\&quot;/>

</ Xs: complex>
</ Xs: element>
</ Xs: sekvens>

</ Xs: complex>
</ Xs: element>
<Xs: element name = \ "hage \">
<Xs: complex>
<xs: sekvens>
<Xs: element name = \ "Forsyning \" maxOccurs = \ "grenseløs \">
<Xs: complex>
<Xs: element name = \ "Beskrivelse \" type = \ "xs: string \" />

&lt;xs:element name=\&quot;Type\&quot; type=\&quot;xs:string\&quot;/>

<Xs: element name = \ "Cost \" type = \ "xs: desimal \" />

&lt;xs:element name=\&quot;Quantity\&quot; type=\&quot;xs: positiveInteger\&quot;/>

</ Xs: complex>
</ Xs: element>
</ Xs: sekvens>

</ Xs: complex>
</ Xs: element>

&lt;xs:element name=\&quot;toast\&quot; type=\&quot;xs:string\&quot; use=\&quot;required\&quot;/>
&lt;/xs:sequence>

</ Xs: complex>
</ Xs: element>
</ Xs: schema>

Genererer en XSD med xsd.exe Tool

4 Bruk xsd.exe verktøyet for å utføre prosessen automatisk. Først lagre xml filen. Lag en katalog som \ "c: \ myxmlfiles \\" og lagre XML-filen der.

Ved å bruke eksempelet i punkt 1, vil den fullstendige filbanen for party.xml eksempel være \ "c: \ myxmlfiles \ party.xml \".

5 Last ned og installer den nyeste Microsoft Windows SDK passer til ditt operativsystem. (Se Resources.)

6 Se etter installasjon av de nyeste oppdateringspakkene og installere dem hvis nødvendig. (Fra \ "Start \" for å velge \ "Windows Update. \" Tillat nettsiden for å skanne datamaskinen for oppdateringer.)

7 Åpne opp en ledetekst. Hvis du har installert SDK til standardmappen, kan du navigere til \ "C:... \ Programfiler \ Microsoft SDK \ Windows \ \ bin \" der \ vil variere avhengig av hvilken versjon av "\..." vinduer.

8 Fra ledeteksten, skriver du inn kommandoen \ "xsd c: \ myxmlfiles \ party.xml / outputdir: c: \ myxmlfiles \" (eller erstatte banen og filnavnet til XML-fil). En XSD fil kalt party.xsd blir automatisk generert i c: \ myxmlfiles.

Hint

  • Hvis du plasserer XSD på en offentlig tilgjengelig nettside, vil skjema være tilgjengelig for noen eller noe som trenger det for å forstå og validere XML-dokument.
  • Lær så mye du kan om de primitive datatyper som er tilgjengelige i XML. De kan gjøre koden mye mer effektiv.