Ibland är det lättare att förstå hur man skriver välformad XML genom att se ett exempel. Webwriter-nyhetsbrevet är skrivet med en form av XML - vi kallar det AML eller About Markup Language (go figure). Även om detta är ett arbetsdokument är det inte ett välformat eller giltigt XML-dokument.
Välformade
Det finns några specifika regler för att skapa ett välformat XML-dokument:
- XML-deklarationen måste komma först i varje dokument.
- Kommentarer är inte giltiga inom en tagg. Kommentarer får inte innehålla två bindestreck i rad, annat än början och slutet av kommentaren.
- Etiketter måste ha en endemärke, eller vara stängda inom singleton-taggen själv, till exempel
. - Alla attribut av taggar måste citeras, helst dubbla citat, såvida inte attributet själv innehåller en dubbelkvot.
- Varje XML-dokument måste innehålla ett element som helt innehåller alla övriga element.
Det finns bara två problem med dokumentet som gör det inte välformat:
Det första som AML-dokumentet behöver är en XML-deklaration.
Det andra problemet är att det inte finns något element som helt omsluter alla andra element. För att åtgärda detta lägger vi till ett externt behållarelement: Att göra de två enkla ändringarna (och se till att alla element innehåller endast CDATA) gör det icke-välformade dokumentet till ett välformat dokument. Ett giltigt XML-dokument valideras mot en dokumenttypsdefinition (DTD) eller XML-schema. Dessa är en uppsättning regler som skapats av utvecklaren eller en standardorganisation som definierar semantiken i XML-dokumentet. Dessa berättar för datorn vad man ska göra med markeringen. När det gäller Om Markup Language, eftersom detta inte är ett standard XML-språk, som XHTML eller SMIL, skulle DTD skapas av utvecklaren. Den DTD skulle sannolikt vara på samma server som XML-dokumentet och refereras längst upp i dokumentet. Innan du börjar utveckla en DTD eller Schema för dina dokument, bör du inse att det bara genom att vara välformat, är ett XML-dokument självbeskrivande och behöver därmed inte en DTD. Till exempel, med vårt välformade AML-dokument finns följande taggar: Om du är bekant med Webwriter-nyhetsbrevet kanske du känner igen de olika delarna av nyhetsbrevet. Det gör det väldigt enkelt att skapa nya XML-dokument med samma standardformat. Vi skulle alltid sätta titeln i full längd i taggen och den första sektionsadressen i taggen. Om du måste skriva ett giltigt XML-dokument, antingen för att använda data eller för att bearbeta det, skulle du inkludera det i ditt dokument med taggen. I den här taggen definierar du den grundläggande XML-taggen i dokumentet och platsen för DTD (vanligtvis en webb-URI). Till exempel:
En trevlig sak om DTD-deklarationer är att du kan deklarera att en DTD är lokal för systemet där XML-dokumentet är med "SYSTEM". Du kan också peka på en allmän DTD, till exempel med ett HTML 4.0-dokument:
När du använder båda, säger du att dokumentet ska använda en specifik DTD (den offentliga identifieraren) och var den ska hitta (systemidentifieraren). Slutligen kan du inkludera en intern DTD direkt i dokumentet, inom DOCTYPE-taggen. Till exempel (detta är inte en komplett DTD för AML-dokumentet):
> För att skapa ett giltigt XML-dokument kan du också använda ett XML Schema-dokument för att definiera din XML. XML Schema är ett XML-dokument som beskriver XML-dokument. Lär dig hur du skriver ett schema. Att bara peka på ett DTD- eller XML-schema är inte tillräckligt. XML-filen som finns i dokumentet måste följa reglerna i DTD eller Schema. Använda en valideringsparser är ett enkelt sätt att kontrollera att din XML följer DTD-reglerna. Du hittar många sådana parsers på nätet.
DTD
XML Schema
Notera




