Hvis de fleste av skjema informasjonen du trenger er allerede i et annet 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 trenger å 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 sørger for at når tiden kommer for å oppdatere én av dokumentene , vil endringene forplante seg til andre dokumenter automatisk . Instruksjoner
en
Åpne din nye XSD -filen i en tekst editor. For opplæringen vil følge svært enkel XSD -dokument brukes:
< xsd < xml version = " 1.0" ? > : Schema xmlns : xsd = " http : //www.w3.org/2001/XMLSchema " >
< xsd: element name = "telefon " type = " xsd : string " />
< xsd: element name = "adresse " du kan se dette XSD definerer strukturen for en database med personer , hver med sitt eget navn , telefonnummer og adresse. Men noen av detaljene ved gjennomføringen er mindre enn ønskelig : sikkert det er en bedre data definition ute etter navn , adresser og telefonnumre enn enkel streng . Ideelt sett bør vår XSD dokumentet kunne oppdage åpenbart ugyldige " telefonnumre " som " 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 -filen , like nedenfor " xsd: schema "-linjen : en
nå har du importert tre XSD filer : en som definerer en " telefonnummer " datatype , en annen for en "adresse " datatype , og en tredjedel for en " englishNames " datatype. Hver av dem er i et navn plass som heter " kevinwalkersNS ", og dette hindrer konflikter med andre dokumenter som kan ha lignende variabelnavn i dem.
3
Rediger variable typer dine elementer som bruke XSD dokumenter du importerte å bruke skjemaet som finnes . I dette tilfellet : burde " xsd string" erstattes slik:
< xsd: element name = "telefon " type = " kevinwalkersNS : telefonnummer " />