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- aanwysers


Ons kan beheer HOE elemente gebruik moet word in dokumente met aanwysers.


Aanwysers

Daar is sewe aanwysers:

Bestel-aanwysers:

  • Almal
  • Keuse
  • Volgorde

Voorkomsaanwysers:

  • maxGevind
  • minGevind

Groepaanwysers:

  • Groepnaam
  • kenmerk Groepnaam

Bestel aanwysers

Orde-aanwysers word gebruik om die volgorde van die elemente te definieer.

Alle aanwyser

Die <all>-aanwyser spesifiseer dat die kinderelemente in enige volgorde kan verskyn, en dat elke kinderelement net een keer moet voorkom:

<xs:element name="person">
  <xs:complexType>
    <xs:all>
      <xs:element name="firstname" type="xs:string"/>
      <xs:element name="lastname" type="xs:string"/>
    </xs:all>
  </xs:complexType>
</xs:element>

Let wel: Wanneer jy die <all>-aanwyser gebruik, kan jy die <minOccurs>-aanwyser op 0 of 1 stel en die <maxOccurs>-aanwyser kan slegs op 1 gestel word (die <minOccurs> en <maxOccurs> word later beskryf).

Keuse aanwyser

Die <keuse>-aanwyser spesifiseer dat een of ander kinderelement kan voorkom:

<xs:element name="person">
  <xs:complexType>
    <xs:choice>
      <xs:element name="employee" type="employee"/>
      <xs:element name="member" type="member"/>
    </xs:choice>
  </xs:complexType>
</xs:element>

Volgorde aanwyser

Die <volgorde>-aanwyser spesifiseer dat die kinderelemente in 'n spesifieke volgorde moet verskyn:

<xs:element name="person">
   <xs:complexType>
    <xs:sequence>
      <xs:element name="firstname" type="xs:string"/>
      <xs:element name="lastname" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>


Voorkomsaanwysers

Voorkomsaanwysers word gebruik om te definieer hoe gereeld 'n element kan voorkom.

Let wel: Vir alle "Bestelling" en "Groep"-aanwysers (enige, almal, keuse, volgorde, groepnaam en groepverwysing) is die verstekwaarde vir maxOccurs en minOccurs 1.

maxOccurs-aanwyser

Die <maxOccurs>-aanwyser spesifiseer die maksimum aantal kere wat 'n element kan voorkom:

<xs:element name="person">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="full_name" type="xs:string"/>
      <xs:element name="child_name" type="xs:string" maxOccurs="10"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

Die voorbeeld hierbo dui aan dat die "kind_naam"-element 'n minimum van een keer kan voorkom (die verstekwaarde vir minOccurs is 1) en 'n maksimum van tien keer in die "persoon"-element.

minOccurs-aanwyser

Die <minOccurs>-aanwyser spesifiseer die minimum aantal kere wat 'n element kan voorkom:

<xs:element name="person">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="full_name" type="xs:string"/>
      <xs:element name="child_name" type="xs:string"
      maxOccurs="10" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

Die voorbeeld hierbo dui aan dat die "kind_naam"-element 'n minimum van nul keer en 'n maksimum van tien keer in die "persoon"-element kan voorkom.

Wenk: Om 'n element 'n onbeperkte aantal kere te laat verskyn, gebruik die maxOccurs="unbounded"-stelling:

'n Werkende voorbeeld:

'n XML-lêer genaamd "Myfamily.xml":

<?xml version="1.0" encoding="UTF-8"?>

<persons xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="family.xsd">

<person>
  <full_name>Hege Refsnes</full_name>
  <child_name>Cecilie</child_name>
</person>

<person>
  <full_name>Tove Refsnes</full_name>
  <child_name>Hege</child_name>
  <child_name>Stale</child_name>
  <child_name>Jim</child_name>
  <child_name>Borge</child_name>
</person>

<person>
  <full_name>Stale Refsnes</full_name>
</person>

</persons>

Die XML-lêer hierbo bevat 'n wortelelement genaamd "persone". Binne hierdie wortelelement het ons drie "persoon"-elemente gedefinieer. Elke "persoon"-element moet 'n "volle_naam"-element bevat en dit kan tot vyf "kind_naam"-elemente bevat.

Hier is die skema lêer "family.xsd":

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">

<xs:element name="persons">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="person" maxOccurs="unbounded">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="full_name" type="xs:string"/>
            <xs:element name="child_name" type="xs:string"
            minOccurs="0" maxOccurs="5"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
</xs:element>

</xs:schema>

Groepaanwysers

Groepaanwysers word gebruik om verwante stelle elemente te definieer.

Elementgroepe

Elementgroepe word met die groepverklaring gedefinieer, soos volg:

<xs:group name="groupname">
...
</xs:group>

Jy moet 'n alles-, keuse- of volgorde-element binne die groepverklaring definieer. Die volgende voorbeeld definieer 'n groep genaamd "persoonsgroep", wat 'n groep elemente definieer wat in 'n presiese volgorde moet voorkom:

<xs:group name="persongroup">
  <xs:sequence>
    <xs:element name="firstname" type="xs:string"/>
    <xs:element name="lastname" type="xs:string"/>
    <xs:element name="birthday" type="xs:date"/>
  </xs:sequence>
</xs:group>

Nadat jy 'n groep gedefinieer het, kan jy dit in 'n ander definisie verwys, soos hierdie:

<xs:group name="persongroup">
  <xs:sequence>
    <xs:element name="firstname" type="xs:string"/>
    <xs:element name="lastname" type="xs:string"/>
    <xs:element name="birthday" type="xs:date"/>
  </xs:sequence>
</xs:group>

<xs:element name="person" type="personinfo"/>

<xs:complexType name="personinfo">
  <xs:sequence>
    <xs:group ref="persongroup"/>
    <xs:element name="country" type="xs:string"/>
  </xs:sequence>
</xs:complexType>

Eienskapgroepe

Eienskapgroepe word gedefinieer met die kenmerkGroup-verklaring, soos volg:

<xs:attributeGroup name="groupname">
...
</xs:attributeGroup>

Die volgende voorbeeld definieer 'n kenmerkgroep genaamd "personattrgroup":

<xs:attributeGroup name="personattrgroup">
  <xs:attribute name="firstname" type="xs:string"/>
  <xs:attribute name="lastname" type="xs:string"/>
  <xs:attribute name="birthday" type="xs:date"/>
</xs:attributeGroup>

Nadat jy 'n kenmerkgroep gedefinieer het, kan jy dit in 'n ander definisie verwys, soos hierdie:

<xs:attributeGroup name="personattrgroup">
  <xs:attribute name="firstname" type="xs:string"/>
  <xs:attribute name="lastname" type="xs:string"/>
  <xs:attribute name="birthday" type="xs:date"/>
</xs:attributeGroup>

<xs:element name="person">
  <xs:complexType>
    <xs:attributeGroup ref="personattrgroup"/>
  </xs:complexType>
</xs:element>