Zoeken…


Elements

Elementen worden geleverd met punthaken en zijn de meest prominente bouwsteen van XML.

Elementen kunnen leeg zijn, in welk geval ze zijn gemaakt van een lege tag (let op de schuine streep):

<an-empty-element/>

Of ze kunnen inhoud hebben, in welk geval ze een openingstag (geen schuine streep) en een eindtag (beginnende schuine streep) hebben:

<a-non-empty-element>Content</a-non-empty-element>

Elementen kunnen nestelen (maar alleen tussen tags voor openen en sluiten):

<parent-element>
  <child-element/>
  <another-child-element>
    Some more content.
  </another-child-element>
</parent-element>

Elementnamen worden QNames (gekwalificeerde namen) genoemd. Alle bovenstaande elementen staan in geen naamruimte, maar elementnamen kunnen ook in naamruimten worden gedefinieerd met behulp van voorvoegsels zoals:

<my-namespace:parent-element xmlns:my-namespace="http://www.example.com/">
  <my-namespace:child-element/>
  <my-namespace:another-child-element>
    Some more content.
  </my-namespace:another-child-element>
</my-namespace:parent-element>

Naamruimten en elementnamen worden in meer detail beschreven in dit gedeelte van de documentatie .

attributen

Attributen zijn naam-waardeparen die aan een element zijn gekoppeld.

Ze worden voorgesteld door waarden in enkele of dubbele aanhalingstekens in de tag voor het openingselement, of de tag voor het lege element als het een leeg element is.

<document>
  <anElement foo="bar" abc='xyz'><!-- some content --></anElement>
  <anotherElement a="1"/>
</document>

Attributen zijn niet geordend (in tegenstelling tot elementen). De volgende twee elementen hebben dezelfde attributen:

<foo alpha="1" beta="2"/>

<foo beta="2" alpha="1"/>

Attributen kunnen niet in hetzelfde element worden herhaald (in tegenstelling tot elementen). Het volgende document is niet goed gevormd: <foo a="x" a="y"/> omdat het kenmerk a tweemaal in hetzelfde element voorkomt.

Het volgende document is goed gevormd. Waarden kunnen identiek zijn, het is de kenmerknaam die niet kan worden herhaald.

<foo a="x" b="x"/> 

Attributen kunnen niet worden genest (in tegenstelling tot elementen).

Tekst

Tekst bestaat uit alle tekens buiten elke markup (tags voor openingselementen, tags voor afsluitende elementen, enz.).

<?xml version="1.0"?>
<document>
  This is some text and <b>this is some more text</b>.
</document>

De precieze XML-terminologie voor tekst is karaktergegevens . De XML-specificatie gebruikt eigenlijk het woord tekst voor het gehele XML-document of een ontlede entiteit, omdat het definieert XML op het syntactische niveau. Sommige datamodellen zoals de XDM (XQuery en XPath Data Model), die XML-documenten als bomen voorstellen, verwijzen echter naar karaktergegevens als tekstknooppunten , zodat tekst in de praktijk vaak wordt opgevat als een synoniem voor karaktergegevens.

Karaktergegevens mogen geen < -teken bevatten - dit zou worden geïnterpreteerd als het eerste teken van een tag met een openingselement - evenmin kan het de reeks ]]> bevatten. De juiste tekens moeten in plaats daarvan worden ontsnapt met een entiteitsverwijzing.

<?xml version="1.0"?>
<document>
  It is fine to escape the &lt; character, as well as ]]&gt;.
</document>

Voor het gemak kan men ook ontsnappen aan een groter stuk tekst met een CDATA-sectie (maar de volgorde ]]> is nog steeds niet toegestaan om voor de hand liggende redenen):

<?xml version="1.0"?>
<document>
  <![CDATA[
    In a CDATA section, it is fine to write < or even & and entity references
    such as &amp; are not resolved.
  ]]>
</document>

Comments

Opmerkingen in XML zien er zo uit:

<!-- This is a comment -->

Ze kunnen worden weergegeven in elementinhoud of op het hoogste niveau:

<?xml version="1.0"?>
<!-- a comment at the top-level -->
<document>
  <!-- a comment inside the document -->
</document>

Opmerkingen kunnen niet in tags of in attributen worden weergegeven:

<element <!-- comment with -- inside --> />

of

<element attr="<!-- comment with -- inside -->"/>

zijn niet goed gevormd.

De tekenreeks -- kan niet in het midden van een opmerking worden weergegeven. Dit is geen goed gevormde XML:

<!-- comment with -- inside -->

Opmerkingen in XML, in tegenstelling tot andere talen zoals C ++, maken deel uit van het gegevensmodel : ze worden ontleed, doorgestuurd en zichtbaar voor de verbruikende toepassing.

Verwerkingsinstructies

Een verwerkingsinstructie wordt gebruikt om via de parser wat informatie of instructies rechtstreeks aan de toepassing door te geven.

<?my-application some instructions ?>

Het token achter het eerste vraagteken (hier my-application ) wordt het doel genoemd en identificeert de applicatie waarop de instructie is gericht. Wat volgt, wordt niet nader gespecificeerd en het is aan de toepassing om het te interpreteren. Entiteiten en karakterreferenties worden niet herkend.

Het kan op het hoogste niveau verschijnen, of in elementinhoud.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow