XML Syntax Regels

De syntaxisregels van XML zijn eenvoudig en logisch. Deze regels zijn gemakkelijk te leren en te gebruiken.

Een XML-document moet een root-element hebben

Een XML-document moet eenroot-elementen deze element is de ouder van alle andere elementenoudere element:

<root>
  <child>
    <subchild>.....</subchild>
  </child>
</root>

In dit voorbeeld,<note> is de root-element:

<?xml version="1.0" encoding="UTF-8"?>
<note>
  <to>George</to>
  <from>John</from>
  <heading>Herinnering</heading>
  <body>Vergeten het vergadering!</body>
</note>

XML-proloog (XML Prolog)

Dit rijtje wordt genoemd XML Proloog:

<?xml version="1.0" encoding="UTF-8"?>

Een XML-proloog is optioneel. Als hij bestaat, moet hij zich op de eerste regel van het document bevinden.

Een XML-document kan internationale tekens bevatten, zoals Noors øæå of Frans êèé.

Om fouten te voorkomen, moet je de gebruikte encoding specificeren en het XML-bestand opslaan als UTF-8.

UTF-8 is de standaard characterencoding voor XML-documenten.

Je kunt onzeCursus over charactersetsleer hier over characterencoding.

Tip:UTF-8 is de standaardcodering voor HTML5, CSS, JavaScript, PHP en SQL.

Alle XML-elementen moeten een eindtag hebben

In XML is het overlaten van een eindtag niet toegestaan. Alle elementen moetenMoetMet een eindtag:

<p>Dit is een alinea.</p>
<br />

Let op:Een XML-proloog heeft geen eindtag! Dit is geen fout. Een proloog behoort niet tot de componenten van XML zelf. Het is geen XML-element en heeft geen eindtag nodig.

XML-tags zijn hoofdlettergevoelig

XML-tags zijn hoofdlettergevoelig. De tag <Letter> is verschillend van de tag <letter>.

Begin- en eindtags moeten dezelfde hoofdlettersgebruikte:

<message>Dit is correct</message>

Commentaar:Het openen en sluiten van een tag wordt meestal aangeduid met begin- en eindtags. Wat voor term je ook gebruikt, het concept is hetzelfde.

XML-elementen moeten correct genest zijn

In HTML kun je mogelijk elementen zien die niet correct zijn genest:

<b><i>This text is bold and italic</b></i>

In XML moeten alle elementenMoetMoet correct zijn

<b><i>This text is bold and italic</i></b>

In het bovenstaande voorbeeld betekent correcte nesting als: omdat het <i>-element binnen het <b>-element is geopend, moet het binnen het <b>-element worden gesloten.

De waarden van XML-eigenschappen moeten tussen aanhalingstekens staan

Net als HTML kan XML eigenschappen hebben (naam/waarde-paren).

In XML moeten de waarden van de eigenschappen tussen aanhalingstekens staan, net als in HTML:

<note date="12/11/2007">
  <to>George</to>
  <from>John</from>
</note>

Entity-refs

In XML hebben sommige tekens een speciale betekenis.

Als je het teken "<" in een XML-element plaatst, ontstaat er een fout, omdat de parser het als het begin van een nieuw element interpreteert.

Dit zal een XML-fout veroorzaken:

<message>if salary < 1000 then</message>

Om deze fout te voorkomen, gebruik dan:Entity-refste vervangen voor het "<"-teken:

<message>if salary < 1000 then</message>

In XML zijn er 5 vooraf gedefinieerde entity-refs:

< < Kleiner dan
> > Groter dan
& & En
' ' Eencilig aanhalingsteken
" " Aanhalingstekens

Commentaar:In XML zijn alleen de tekens "<" en "&"" echt ongeldig. "">" is geldig, maar het is een goede gewoonte om het te vervangen door "">"

Commentaar in XML

De syntaxis voor het schrijven van commentaar in XML lijkt veel op die van HTML:

<!-- Dit is een commentaar -->

Twee streepjes in een commentaar zijn niet toegestaan:

<!-- Dit is een ongeldig -- commentaar -->

XML behoudt witruimte

HTML beperkt meerdere opeenvolgende spaties tot één, in XML worden spaties in het document niet weggelaten:

XML:Hallo           George
HTML:Hallo George

XML slaat een nieuwe regel op als LF

In Windows-programma's wordt een nieuwe regel meestal opgeslagen met een paar tekens: de carriage return (CR) en de newline (LF). Deze tekens lijken op de actie van een typemachine om een nieuwe regel te beginnen.

Unix en Mac OSX gebruiken LF.

Oude Mac Systemen gebruiken CR.

XML slaat nieuwe regels op als LF.

Goede XML

XML Documenten die voldoen aan de bovenstaande syntaxis worden genoemd 'Goede' XML Documenten.