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


XQuery is hoofdlettergevoelig en XQuery-elementen, attributen en variabelen moeten geldige XML-namen zijn.


Basisregels voor XQuery-syntaxis

Enkele basisregels voor syntaxis:

  • XQuery is hoofdlettergevoelig
  • XQuery-elementen, attributen en variabelen moeten geldige XML-namen zijn
  • Een XQuery-tekenreekswaarde kan tussen enkele of dubbele aanhalingstekens staan
  • Een XQuery-variabele wordt gedefinieerd met een $ gevolgd door een naam, bijvoorbeeld $bookstore
  • XQuery-opmerkingen worden gescheiden door (: en :), bijv. (: XQuery-opmerking :)

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 .


XQuery voorwaardelijke expressies

"Als-Dan-Anders"-expressies zijn toegestaan ​​in XQuery.

Kijk naar het volgende voorbeeld:

for $x in doc("books.xml")/bookstore/book
return if ($x/@category="children")
then <child>{data($x/title)}</child>
else <adult>{data($x/title)}</adult>

Opmerkingen over de "if-then-else"-syntaxis: haakjes rond de if-expressie zijn vereist. else is vereist, maar het kan ook gewoon else ().

Het resultaat van het bovenstaande voorbeeld is:

<adult>Everyday Italian</adult>
<child>Harry Potter</child>
<adult>XQuery Kick Start</adult>
<adult>Learning XML</adult>

XQuery-vergelijkingen

In XQuery zijn er twee manieren om waarden te vergelijken.

1. Algemene vergelijkingen: =, !=, <, <=, >, >=

2. Waardevergelijkingen: eq, ne, lt, le, gt, ge

Het verschil tussen de twee vergelijkingsmethoden wordt hieronder weergegeven.

De volgende expressie retourneert true als q-kenmerken een waarde groter dan 10 hebben:

$bookstore//book/@q > 10

De volgende expressie retourneert true als er slechts één q-kenmerk wordt geretourneerd door de expressie en de waarde groter is dan 10. Als er meer dan één q wordt geretourneerd, treedt er een fout op:

$bookstore//book/@q gt 10