Skip to main content

Konvertera en XML-fil för att vara välformad

Using XML for Finale/Sibelius conversion (Juni 2026)

Using XML for Finale/Sibelius conversion (Juni 2026)
Anonim

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.

DTD

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):

>

XML Schema

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.

Notera

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.