Slik importerer en XSD-fil

Hvis de fleste av skjemaet informasjonen du trenger er allerede inne i en annen XSD-fil, er det ingen grunn til å kopiere all denne informasjonen inn i en annen fil. Gjør du det er en oppskrift på katastrofe, fordi ved å spre XSD-skjema informasjon ut over flere filer, er du bare lage et mareritt situasjon bør XSD-skjema stadig må endres. I stedet bør du bruke "xsd: import" og "XSi: schemaLocation" tags i dine XSD-dokumenter for å importere XSD-filer til en annen andre XSD dokumenter som krever den samme informasjonen. Dette sikrer at når den tid kommer til å oppdatere en av dine dokumenter, vil endringene forplante seg til andre dokumenter automatisk.

Bruksanvisning

1 Åpne ny XSD-filen i en teksteditor. For opplæringen, vil følgende svært enkel XSD dokumentet brukes:

<? Xml version = "1.0"?>

<Xsd: skjema xmlns: xsd = "http://www.w3.org/2001/XMLSchema">

&lt;xsd:element name="person">

& Lt; xsd: complex>

& Lt; xsd: sekvens>

& Lt; xsd: element name = "navn" type = "xsd: string" />

& Lt; xsd: element name = "telefon" type = "xsd: string" />

& Lt; xsd: element name = "adresse" type = "xsd: string" />

& Lt; / xsd: sekvens>

& Lt; / xsd: complex>

& Lt; / xsd: element>

</ Xsd: schema>

Som du kan se dette XSD definerer strukturen av en database over personer, hver med sitt eget navn, telefonnummer og adresse. Men noen av detaljene i gjennomføringen er mindre enn ønskelig: så du finner et bedre datadefinisjon ute for navn, adresser og telefonnumre enn enkel streng. Ideelt sett bør vår XSD dokumentet kunne oppdage åpenbart ugyldig "telefonnumre" like "12" eller, enda verre, noe helt nonsens som "Jeg har ikke lyst til å gi deg telefonnummeret mitt."

2 Legg til følgende linje i XSD-fil, like under "xsd: schema" linje:

<Xsd: import namespace = "kevinwalkersNS" schemaLocation = "phoneNumber.xsd" />

<Xsd: import namespace = "kevinwalkersNS" schemaLocation = "address.xsd" />

<Xsd: import namespace = "kevinwalkersNS" schemaLocation = "englishNames.xsd" />

Nå har du importert tre XSD filer: en som definerer en "telefonnummer" datatype, en annen for en "adresse" datatype, og en tredje for en "englishNames" datatype. Hver av dem er i et navn plass som heter "kevinwalkersNS", og dette forhindrer konflikter med andre dokumenter som kan ha lignende variabelnavn i dem.

3 Rediger variable typer dine elementer som bruker XSD dokumentene du importerte å bruke skjemaet som finnes. I dette tilfellet er: skal "xsd streng" byttes ut slik:

&lt;xsd:element name="name" type="kevinwalkersNS:englishNames"/>

& Lt; xsd: element name = "phone" type = "kevinwalkersNS: Telefonnummer" />

& Lt; xsd: element name = "adresse" type = "kevinwalkersNS: adresse" />