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

XML Schema- zelfstudie


Wat is een XML-schema?

Een XML Schema beschrijft de structuur van een XML-document.

De XML Schema-taal wordt ook wel XML Schema Definition (XSD) genoemd.

XSD-voorbeeld

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="note">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="to" type="xs:string"/>
      <xs:element name="from" type="xs:string"/>
      <xs:element name="heading" type="xs:string"/>
      <xs:element name="body" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

</xs:schema>

Het doel van een XML-schema is om de juridische bouwstenen van een XML-document te definiëren:

  • de elementen en attributen die in een document kunnen voorkomen
  • het aantal (en volgorde van) onderliggende elementen
  • gegevenstypen voor elementen en attributen
  • standaard en vaste waarden voor elementen en attributen

Waarom XML-schema leren?

In de XML-wereld worden dagelijks honderden gestandaardiseerde XML-formaten gebruikt.

Veel van deze XML-standaarden worden gedefinieerd door XML-schema's.

XML Schema is een op XML gebaseerd (en krachtiger) alternatief voor DTD.



XML-schema's ondersteunen gegevenstypen

Een van de grootste kracht van XML Schema's is de ondersteuning voor gegevenstypen.

  • Het is gemakkelijker om toegestane documentinhoud te beschrijven
  • Het is gemakkelijker om de juistheid van gegevens te valideren
  • Het is gemakkelijker om gegevensfacetten te definiëren (beperkingen op gegevens)
  • Het is eenvoudiger om datapatronen (dataformaten) te definiëren
  • Het is gemakkelijker om gegevens tussen verschillende gegevenstypen om te zetten

XML-schema's gebruiken XML-syntaxis

Een ander sterk punt van XML-schema's is dat ze in XML zijn geschreven.

  • Je hoeft geen nieuwe taal te leren
  • U kunt uw XML-editor gebruiken om uw Schema-bestanden te bewerken
  • U kunt uw XML-parser gebruiken om uw Schema-bestanden te ontleden
  • U kunt uw schema manipuleren met de XML DOM
  • U kunt uw schema transformeren met XSLT

XML-schema's zijn uitbreidbaar, omdat ze in XML zijn geschreven.

Met een uitbreidbare Schema-definitie kunt u:

  • Hergebruik uw schema in andere schema's
  • Maak uw eigen gegevenstypen afgeleid van de standaardtypen
  • Verwijzen naar meerdere schema's in hetzelfde document

XML-schema's Veilige datacommunicatie

Bij het verzenden van gegevens van een zender naar een ontvanger is het essentieel dat beide delen dezelfde "verwachtingen" hebben over de inhoud.

Met XML Schema's kan de afzender de gegevens beschrijven op een manier die de ontvanger zal begrijpen.

Een datum als: "03-11-2004" wordt in sommige landen geïnterpreteerd als 3 november en in andere landen als 11 maart.

Een XML-element met een gegevenstype als dit:

<date type="date">2004-03-11</date>

zorgt voor een wederzijds begrip van de inhoud, omdat het XML-gegevenstype "datum" het formaat "JJJJ-MM-DD" vereist.


Goed gevormd is niet genoeg

Een goed gevormd XML-document is een document dat voldoet aan de XML-syntaxisregels, zoals:

  • het moet beginnen met de XML-declaratie
  • het moet één uniek root-element hebben
  • start-tags moeten overeenkomende eind-tags hebben
  • elementen zijn hoofdlettergevoelig
  • alle elementen moeten gesloten zijn
  • alle elementen moeten correct genest zijn
  • alle attribuutwaarden moeten tussen aanhalingstekens staan
  • entiteiten moeten worden gebruikt voor speciale tekens

Zelfs als documenten goed gevormd zijn, kunnen ze nog steeds fouten bevatten, en die fouten kunnen ernstige gevolgen hebben.

Denk aan de volgende situatie: u bestelt 5 laserprinters bruto, in plaats van 5 laserprinters. Met XML-schema's kunnen de meeste van deze fouten worden opgevangen door uw validatiesoftware.