XML -zelfstudie

XML HOME XML-introductie XML Hoe te gebruiken XML-structuur XML-syntaxis XML-elementen XML-kenmerken XML-naamruimten XML-weergave XML HTTP-verzoek XML-parser XML-DOM XML XPath XML XSLT XML XQuery XML XLink XML-validator XML-DTD XML Schema XML-server XML-voorbeelden XML-quiz XML-certificaat

XML AJAX

Ajax-introductie AJAX XMLHttp Ajax-verzoek Ajax-reactie AJAX XML-bestand AJAX PHP Ajax ASP AJAX-database AJAX-toepassingen Ajax-voorbeelden

XML-DOM

DOM-introductie DOM-knooppunten DOM-toegang DOM Node Info Lijst met DOM-knooppunten DOM doorkruisen DOM-navigatie DOM Waarden ophalen DOM-wijzigingsknooppunten DOM Knooppunten verwijderen DOM Knooppunten vervangen DOM Knooppunten maken DOM Knooppunten toevoegen DOM-kloonknooppunten DOM-voorbeelden

XPath- zelfstudie

XPath-introductie XPath-knooppunten XPath-syntaxis XPath-assen XPath-operators XPath-voorbeelden

XSLT- zelfstudie

XSLT-introductie XSL-talen XSLT-transformatie XSLT <sjabloon> XSLT <waarde-van> XSLT <voor elk> XSLT <sorteren> XSLT <if> XSLT <kiezen> XSLT toepassen XSLT op de client XSLT op de server XSLT Bewerk XML XSLT-voorbeelden

XQuery- zelfstudie

XQuery-introductie XQuery-voorbeeld XQuery FLWOR XQuery HTML XQuery-voorwaarden XQuery-syntaxis XQuery toevoegen XQuery selecteren XQuery-functies

XML -DTD

DTD Introductie DTD-bouwstenen DTD-elementen DTD-kenmerken DTD Elements vs Attr DTD-entiteiten DTD-voorbeelden

XSD- schema

XSD-introductie XSD Hoe kan ik? XSD <schema> XSD-elementen XSD-kenmerken XSD-beperkingen

XSD- complex

XSD-elementen XSD Leeg Alleen XSD-elementen Alleen XSD-tekst XSD gemengd XSD-indicatoren XSD <elke> XSD <anyAttribute> XSD-vervanging XSD-voorbeeld

XSD- gegevens

XSD-string XSD-datum XSD Numeriek XSD Diversen XSD-referentie

Webservices _

XML-services XML-WSDL XML SOAP XML-RDF XML-RSS

Referenties

Typen DOM-knooppunten DOM Node DOM-knooppuntlijst DOM NamedNodeMap DOM-document DOM-element DOM-kenmerk DOM-tekst DOM CDATA DOM-opmerking DOM XMLHttpRequest DOM-parser XSLT-elementen XSLT/XPath-functies

XQuery selecteren en filteren


Het XML-voorbeelddocument

In de onderstaande voorbeelden gebruiken we het document "books.xml" (hetzelfde XML-bestand als in de vorige hoofdstukken).

Bekijk het bestand "books.xml" in uw browser .


Elementen selecteren en filteren

Zoals we in de vorige hoofdstukken hebben gezien, selecteren en filteren we elementen met een Path-expressie of met een FLWOR-expressie.

Bekijk de volgende FLWOR-expressie:

for $x in doc("books.xml")/bookstore/book
where $x/price>30
order by $x/title
return $x/title
  • for - (optioneel) bindt een variabele aan elk item dat wordt geretourneerd door de in-expressie
  • laat - (optioneel)
  • waarbij - (optioneel) een criterium specificeert
  • order by - (optioneel) specificeert de sorteervolgorde van het resultaat
  • return - specificeert wat er moet worden geretourneerd in het resultaat

de voor clausule

De for-clausule bindt een variabele aan elk item dat wordt geretourneerd door de in-expressie. De for-clausule resulteert in iteratie. Er kunnen meerdere for-clausules in dezelfde FLWOR-expressie voorkomen.

Om een ​​bepaald aantal keren in een for-clausule te herhalen, kunt u het to - sleutelwoord gebruiken:

for $x in (1 to 5)
return <test>{$x}</test>

Resultaat:

<test>1</test>
<test>2</test>
<test>3</test>
<test>4</test>
<test>5</test>

Het at -sleutelwoord kan worden gebruikt om de iteratie te tellen:

for $x at $i in doc("books.xml")/bookstore/book/title
return <book>{$i}. {data($x)}</book>

Resultaat:

<book>1. Everyday Italian</book>
<book>2. Harry Potter</book>
<book>3. XQuery Kick Start</book>
<book>4. Learning XML</book>

Het is ook toegestaan ​​met meer dan één expressie in de for-clausule. Gebruik komma's om elk in expressie te scheiden:

for $x in (10,20), $y in (100,200)
return <test>x={$x} and y={$y}</test>

Resultaat:

<test>x=10 and y=100</test>
<test>x=10 and y=200</test>
<test>x=20 and y=100</test>
<test>x=20 and y=200</test>


De let-clausule

De let-clausule staat variabele toewijzingen toe en voorkomt dat dezelfde uitdrukking vele malen wordt herhaald. De let-clausule resulteert niet in iteratie.

let $x := (1 to 5)
return <test>{$x}</test>

Resultaat:

<test>1 2 3 4 5</test>

de waar-clausule

De where-clausule wordt gebruikt om een ​​of meer criteria voor het resultaat op te geven:

where $x/price>30 and $x/price<100

De volgorde door Clausule:

De order by-clausule wordt gebruikt om de sorteervolgorde van het resultaat te specificeren. Hier willen we het resultaat sorteren op categorie en titel:

for $x in doc("books.xml")/bookstore/book
order by $x/@category, $x/title
return $x/title

Resultaat:

<title lang="en">Harry Potter</title>
<title lang="en">Everyday Italian</title>
<title lang="en">Learning XML</title>
<title lang="en">XQuery Kick Start</title>

de terugkeer clausule

De retourclausule geeft aan wat moet worden geretourneerd.

for $x in doc("books.xml")/bookstore/book
return $x/title

Resultaat:

<title lang="en">Everyday Italian</title>
<title lang="en">Harry Potter</title>
<title lang="en">XQuery Kick Start</title>
<title lang="en">Learning XML</title>