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


XML-elementen kunnen attributen hebben, net als HTML.

Attributen zijn ontworpen om gegevens te bevatten die betrekking hebben op een specifiek element.


XML-attributen moeten worden geciteerd

Attribuutwaarden moeten altijd worden aangehaald. Er kunnen zowel enkele als dubbele aanhalingstekens worden gebruikt.

Voor het geslacht van een persoon kan het element <person> als volgt worden geschreven:

<person gender="female">

of zo:

<person gender='female'>

Als de attribuutwaarde zelf dubbele aanhalingstekens bevat, kunt u enkele aanhalingstekens gebruiken, zoals in dit voorbeeld:

<gangster name='George "Shotgun" Ziegler'>

of je kunt karakterentiteiten gebruiken:

<gangster name="George &quot;Shotgun&quot; Ziegler">

XML-elementen versus attributen

Kijk eens naar deze twee voorbeelden:

<person gender="female">
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>
<person>
  <gender>female</gender>
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>

In het eerste voorbeeld is geslacht een attribuut. In het laatste voorbeeld is geslacht een element. Beide voorbeelden geven dezelfde informatie.

Er zijn geen regels over wanneer attributen moeten worden gebruikt of wanneer elementen in XML moeten worden gebruikt.



Mijn favoriete manier

De volgende drie XML-documenten bevatten exact dezelfde informatie:

In het eerste voorbeeld wordt een datumattribuut gebruikt:

<note date="2008-01-10">
  <to>Tove</to>
  <from>Jani</from>
</note>

In het tweede voorbeeld wordt een <date>-element gebruikt:

<note>
  <date>2008-01-10</date>
  <to>Tove</to>
  <from>Jani</from>
</note>

In het derde voorbeeld wordt een uitgebreid <date>-element gebruikt: (DIT IS MIJN FAVORIET):

<note>
  <date>
    <year>2008</year>
    <month>01</month>
    <day>10</day>
  </date>
  <to>Tove</to>
  <from>Jani</from>
</note>

XML-attributen vermijden?

Enkele dingen om te overwegen bij het gebruik van attributen zijn:

  • attributen kunnen niet meerdere waarden bevatten (elementen kunnen)
  • attributen mogen geen boomstructuren bevatten (elementen kunnen dat wel)
  • attributen zijn niet gemakkelijk uitbreidbaar (voor toekomstige wijzigingen)

Eindig niet zo:

<note day="10" month="01" year="2008"
to="Tove" from="Jani" heading="Reminder"
body="Don't forget me this weekend!">
</note>

XML-attributen voor metagegevens

Soms worden ID-referenties aan elementen toegewezen. Deze ID's kunnen worden gebruikt om XML-elementen te identificeren op vrijwel dezelfde manier als het id-attribuut in HTML. Dit voorbeeld toont dit aan:

<messages>
  <note id="501">
    <to>Tove</to>
    <from>Jani</from>
    <heading>Reminder</heading>
    <body>Don't forget me this weekend!</body>
  </note>
  <note id="502">
    <to>Jani</to>
    <from>Tove</from>
    <heading>Re: Reminder</heading>
    <body>I will not</body>
  </note>
</messages>

De id-attributen hierboven zijn voor het identificeren van de verschillende notities. Het maakt geen deel uit van de notitie zelf.

Wat ik hier probeer te zeggen, is dat metadata (gegevens over gegevens) als attributen moeten worden opgeslagen en dat de gegevens zelf als elementen moeten worden opgeslagen.