Skip to main content

Konvertere en XML-fil for at være velformet

Using SmartScore Music-to-XML (Juni 2026)

Using SmartScore Music-to-XML (Juni 2026)

Indholdsfortegnelse:

Anonim

Nogle gange er det lettere at forstå, hvordan man skriver velformet XML ved at se et eksempel. Webwriter nyhedsbrevet er skrevet ved hjælp af en form for XML - vi kalder det AML eller About Markup Language (go figure). Selvom dette er et arbejdsdokument, er det ikke et velformuleret eller gyldigt XML-dokument.

Velformet

Der er nogle specifikke regler for at oprette et velformet XML-dokument:

  • XML-erklæringen skal komme først i hvert dokument.
  • Kommentarer er ikke gyldige inden for et tag. Kommentarer må ikke indeholde to bindestreger i en række, bortset fra begyndelsen og slutningen af ​​kommentaren.
  • Etiketter skal have et slutmærke eller være lukket inden for singleton taggen selv, for eksempel
    .
  • Alle attributter af tags skal citeres, helst dobbelt citater, medmindre egenskaben indeholder et dobbelt citat.
  • Hvert XML-dokument skal indeholde et element, som helt indeholder alle de andre elementer.

Der er kun to problemer med dokumentet, der gør det ikke velformet:

Den første ting, som AML-dokumentet har brug for, er en XML-erklæringserklæring.

Det andet problem er, at der ikke er noget element, der fuldstændigt omslutter alle de andre elementer. For at løse dette tilføjer vi et eksternt beholderelement:

Gør disse to enkle ændringer (og sikrer, at alle elementer kun indeholder CDATA) vil gøre det ikke-velformede dokument til et velformet dokument.

Et gyldigt XML-dokument er valideret over for en Document Type Definition (DTD) eller XML Schema. Disse er et sæt regler, der er oprettet af udvikleren eller en standardorganisation, der definerer semantikken i XML-dokumentet. Disse fortæller computeren, hvad man skal gøre med markeringen.

I tilfælde af Om Markup Language, da dette ikke er et standard XML-sprog, som XHTML eller SMIL, oprettes DTD af udvikleren. Den DTD ville sandsynligvis være på samme server som XML-dokumentet og henvist til øverst i dokumentet.

Før du begynder at udvikle en DTD eller Schema til dine dokumenter, skal du indse, at det bare ved at være godt dannet, er et XML-dokument selvbeskrivende og behøver således ikke en DTD.

For eksempel med vores velformede AML-dokument er der følgende tags:

Hvis du er bekendt med webwriter-nyhedsbrevet, kan du genkende de forskellige afsnit af nyhedsbrevet. Dette gør det meget nemt at oprette nye XML-dokumenter med samme standardformat. Vi vil altid sætte titlen på fuld længde i tagget, og den første sektions URL i tagget.

DTDs

Hvis du skal skrive et gyldigt XML-dokument, enten for at bruge dataene eller for at behandle det, vil du inkludere det i dit dokument med tagget. I dette tag definerer du det grundlæggende XML-tag i dokumentet og placeringen af ​​DTD'et (normalt en web-URI). For eksempel:

En god ting ved DTD-erklæringer er, at du kan erklære, at en DTD er lokal til systemet, hvor XML-dokumentet er med "SYSTEM". Du kan også pege på en offentlig DTD, f.eks. Med et HTML 4.0-dokument:

Når du bruger begge, fortæller du dokumentet om at bruge en bestemt DTD (den offentlige identifikator) og hvor den skal findes (systemidentifikatoren).

Endelig kan du inkludere en intern DTD direkte i dokumentet, inden for DOCTYPE-mærket. For eksempel (dette er ikke en komplet DTD for AML-dokumentet):

>

XML-skema

For at oprette et gyldigt XML-dokument kan du også bruge et XML Schema-dokument til at definere din XML. XML Schema er et XML-dokument, der beskriver XML-dokumenter. Lær, hvordan du skriver et skema.

Bemærk

Bare at pege på en DTD eller XML Schema er ikke nok. XML'et, der er i dokumentet, skal følge reglerne i DTD eller Schema. Brug af en valideringsparser er en enkel måde at kontrollere, at din XML følger DTD-reglerne. Du kan finde mange sådanne parsere online.