XML- tutoriaal

XML TUIS XML Inleiding XML Hoe om te gebruik XML-boom XML-sintaksis XML elemente XML-kenmerke XML Naamruimtes XML vertoon XML HttpRequest XML-ontleder XML DOM XML XPath XML XSLT XML XQuery XML XLink XML valideerder XML DTD XML-skema XML-bediener XML voorbeelde XML Vasvra XML-sertifikaat

XML AJAX

AJAX Inleiding AJAX XMLHttp AJAX-versoek AJAX-reaksie AJAX XML-lêer AJAX PHP AJAX ASP AJAX-databasis AJAX toepassings AJAX voorbeelde

XML DOM

DOM Inleiding DOM nodusse Toegang tot DOM DOM Node Info DOM Node Lys DOM deurkruis DOM Navigeer DOM Kry waardes DOM Verander nodusse DOM Verwyder nodes DOM vervang nodusse DOM Skep nodusse DOM Voeg nodes by DOM Kloon Nodes DOM Voorbeelde

XPath handleiding

XPath Inleiding XPath nodes XPath-sintaksis XPath-asse XPath-operateurs XPath voorbeelde

XSLT- tutoriaal

XSLT Inleiding XSL-tale XSLT-transformasie XSLT <sjabloon> XSLT <waarde-van> XSLT <vir-elk> XSLT <sorteer> XSLT <if> XSLT <kies> XSLT Pas toe XSLT op die kliënt XSLT op die bediener XSLT Wysig XML XSLT voorbeelde

XQuery- tutoriaal

XQuery Inleiding XQuery voorbeeld XQuery FLWOR XQuery HTML XQuery-bepalings XQuery-sintaksis XQuery Voeg by XQuery Kies XQuery-funksies

XML DTD

DTD Inleiding DTD Boublokke DTD Elemente DTD-kenmerke DTD Elements vs Attr DTD Entiteite DTD voorbeelde

XSD- skema

XSD Inleiding XSD Hoe om XSD <skema> XSD-elemente XSD-kenmerke XSD-beperkings

XSD -kompleks

XSD-elemente XSD leeg Slegs XSD-elemente Slegs XSD-teks XSD gemeng XSD-aanwysers XSD <enige> XSD <anyAttribute> XSD-vervanging XSD voorbeeld

XSD data

XSD-string XSD datum XSD Numeries XSD Diverse XSD-verwysing

Webdienste _

XML Dienste XML WSDL XML SEEP XML RDF XML RSS

Verwysings

DOM Node Tipes DOM Node DOM NodeLys DOM NamedNodeMap DOM-dokument DOM Element DOM-kenmerk DOM teks DOM CDATA DOM Kommentaar DOM XMLHttpRequest DOM-ontleder XSLT-elemente XSLT/XPath-funksies

XSD Element Vervanging


Met XML-skemas kan een element 'n ander element vervang.


Elementvervanging

Kom ons sê dat ons gebruikers van twee verskillende lande het: Engeland en Noorweë. Ons wil graag die vermoë hê om die gebruiker te laat kies of hy of sy die Noorse elementname of die Engelse elementname in die XML-dokument wil gebruik.

Om hierdie probleem op te los, kan ons 'n substitusiegroep in die XML-skema definieer. Eerstens verklaar ons 'n hoofelement en dan verklaar ons die ander elemente wat sê dat hulle vervangbaar is vir die hoofelement.

<xs:element name="name" type="xs:string"/>
<xs:element name="navn" substitutionGroup="name"/>

In die voorbeeld hierbo is die "naam"-element die kopelement en die "naam"-element is vervangbaar vir "naam".

Kyk na hierdie fragment van 'n XML-skema:

<xs:element name="name" type="xs:string"/>
<xs:element name="navn" substitutionGroup="name"/>

<xs:complexType name="custinfo">
  <xs:sequence>
    <xs:element ref="name"/>
  </xs:sequence>
</xs:complexType>

<xs:element name="customer" type="custinfo"/>
<xs:element name="kunde" substitutionGroup="customer"/>

'n Geldige XML-dokument (volgens die skema hierbo) kan soos volg lyk:

<customer>
  <name>John Smith</name>
</customer>

of soos volg:

<kunde>
  <navn>John Smith</navn>
</kunde>


Blokkeerelementvervanging

Om te verhoed dat ander elemente met 'n gespesifiseerde element vervang, gebruik die blokkenmerk:

<xs:element name="name" type="xs:string" block="substitution"/>

Kyk na hierdie fragment van 'n XML-skema:

<xs:element name="name" type="xs:string" block="substitution"/>
<xs:element name="navn" substitutionGroup="name"/>

<xs:complexType name="custinfo">
  <xs:sequence>
    <xs:element ref="name"/>
  </xs:sequence>
</xs:complexType>

<xs:element name="customer" type="custinfo" block="substitution"/>
<xs:element name="kunde" substitutionGroup="customer"/>

'n Geldige XML-dokument (volgens die skema hierbo) lyk soos volg:

<customer>
  <name>John Smith</name>
</customer>

MAAR DIT IS NIE MEER GELDIG NIE:

<kunde>
  <navn>John Smith</navn>
</kunde>

Gebruik substitusiegroep

Die tipe van die vervangbare elemente moet dieselfde wees as, of afgelei van, die tipe van die kopelement. As die tipe van die vervangbare element dieselfde is as die tipe van die kopelement, hoef jy nie die tipe van die vervangbare element te spesifiseer nie.

Let daarop dat alle elemente in die substitusiegroep (die kopelement en die vervangbare elemente) as globale elemente verklaar moet word, anders sal dit nie werk nie!


Wat is globale elemente?

Globale elemente is elemente wat onmiddellike kinders van die "skema"-element is! Plaaslike elemente is elemente wat binne ander elemente geneste is.