Dit artikel legt uit hoe je goed gevormd schrijft XML door een voorbeeld te laten zien. De Web Writer-nieuwsbrief is geschreven met behulp van een vorm van XML; we noemen het AML of About Markup Language. Hoewel dit een werkdocument is, is het geen welgevormd of geldig XML-document.
Goed gevormd
Er zijn enkele specifieke regels om een goed opgemaakt XML-document te maken:
- De XML-aangifte moet in elk document voorop staan.
- Reacties zijn niet geldig binnen een tag. Opmerkingen mogen geen twee koppeltekens achter elkaar bevatten, behalve het begin en einde van de opmerking.
- Tags moeten bijvoorbeeld een eindtag hebben, of binnen de singleton-tag zelf zijn gesloten.
- Alle attributen van tags moeten tussen aanhalingstekens staan, bij voorkeur dubbele aanhalingstekens, tenzij het attribuut zelf een dubbel aanhalingsteken bevat.
- Elk XML-document moet één element bevatten dat alle andere elementen volledig bevat.
Er zijn slechts twee problemen met het document waardoor het niet goed gevormd is:
- Het eerste dat het AML-document nodig heeft, is een XML-declaratieverklaring.
- Het andere probleem is dat geen enkel element alle andere elementen volledig omsluit. Om dit op te lossen, voegen we een extern containerelement toe:
Door deze twee eenvoudige wijzigingen aan te brengen (en ervoor te zorgen dat alle elementen alleen CDATA bevatten) wordt het niet-goedgevormde document een goedgevormd document.
Een geldig XML-document wordt gevalideerd tegen een Document Type Definition (DTD) of XML Schema. Dit zijn een reeks regels die zijn gemaakt door de ontwikkelaar of een standaardorganisatie die de semantiek van het XML-document definiëren. Deze vertellen de computer wat hij met de opmaak moet doen.
In het geval van de Over Opmaaktaal, aangezien dit geen standaard XML-taal is, zoals XHTML of SMIL, zou de DTD door de ontwikkelaar worden gemaakt. Die DTD zou hoogstwaarschijnlijk op dezelfde server staan als het XML-document en bovenaan het document worden verwezen.
Voordat u begint met het ontwikkelen van een DTD of Schema voor uw documenten, moet u zich realiseren dat een XML-document, simpelweg door goed gevormd te zijn, zichzelf beschrijft en dus geen DTD nodig heeft.
Met ons goed gevormde AML-document zijn er bijvoorbeeld de volgende tags:
Als u bekend bent met de nieuwsbrief van Web Writer, herkent u wellicht de verschillende onderdelen van de nieuwsbrief. Dit maakt het heel eenvoudig om nieuwe XML-documenten te maken met hetzelfde standaardformaat. We zouden altijd de volledige titel in de tag plaatsen en de eerste sectie-URL in de tag.
DTD's
Als u een geldig XML-document moet schrijven, hetzij om de gegevens te gebruiken of om het te verwerken, dan zou u dit met de tag in uw document opnemen. In deze tag definieert u de XML-basistag in het document en de locatie van de DTD (meestal een web-URI).
Bijvoorbeeld:
Een leuk ding over DTD-declaraties is dat je kunt declareren dat een DTD lokaal is voor het systeem waar de XML-document is met het "SYSTEEM". U kunt ook verwijzen naar een openbare DTD, zoals bij een HTML 4.0-document:
Wanneer u beide gebruikt, geeft u het document aan een specifieke DTD (de openbare identifier) te gebruiken en waar deze te vinden is (de systeem-ID).
Ten slotte kunt u een interne DTD direct in het document opnemen, binnen de DOCTYPE-tag. Bijvoorbeeld (dit is geen volledige DTD voor het AML-document):
XML-schema
Om een geldig XML-document te maken, kunt u ook een XML Schema-document gebruiken om uw XML te definiëren. XML Schema is een XML-document dat XML-documenten beschrijft. Leer hoe u een schema schrijft.
Opmerking
Alleen verwijzen naar een DTD of XML Schema is niet genoeg. De XML die in het document staat, moet voldoen aan de regels in de DTD of Schema. Het gebruik van een validerende parser is een eenvoudige manier om te controleren of uw XML de DTD-regels volgt. U kunt veel van dergelijke parsers online vinden.