Научете как да пишете добре форматиран и валиден XML
Понякога е по-лесно да разберете как да напишете добре формулиран XML, като видите пример. Информационният бюлетин на Web Writer е написан с помощта на формуляр на XML - аз го наричам AML или За Markup Language (виж фигура!). Макар че това е работен документ, всъщност не е добре оформен или валиден XML документ.
Добре оформени
Има някои конкретни правила за създаване на добре оформен XML документ:
- Декларацията XML трябва да е на първо място във всеки документ.
- Коментарите не са валидни в маркер. Коментарите не могат да съдържат два тирета, различни от началото и края на коментара.
- Маркерите трябва да имат краен маркер или да бъдат затворени в самия маркер, например
. - Всички атрибути на маркерите трябва да бъдат цитирани, за предпочитане двойни цитати, освен ако самият атрибут съдържа двоен цитат.
- Всеки XML документ трябва да съдържа един елемент, който напълно съдържа всички останали елементи.
Има само два проблема с документа, които го правят не добре оформени:
Първото нещо, от което документът AML се нуждае, е изявление на XML декларация.
xml версия = "1.0"?>Другият проблем е, че няма нито един елемент, който да обхваща напълно всички останали елементи. За да поправя това, ще добавя външен елемент от контейнера:
<Бюлетин> бюлетин>Извършването на тези две прости промени (и гарантирането, че всички елементи съдържат само CDATA) ще превърне не добре оформения документ в добре оформен документ.
Валиден XML документ е валидиран спрямо дефиниция на тип на документа (DTD) или XML Schema. Това са набор от правила, създадени от разработчика или от организация на стандарти, които определят семантиката на XML документа. Те разказват на компютъра какво да правят с маркирането.
В случая на езика за маркиране, тъй като това не е стандартен XML език, като XHTML или SMIL, DTD ще бъде създаден от разработчика. Това DTD най-вероятно ще бъде на същия сървър като XML документа и ще се позовава в горната част на документа.
Преди да започнете да разработвате DTD или Схема за документите си, трябва да осъзнаете, че просто чрез добре оформено XML документ се описва самостоятелно и по този начин не се нуждае от DTD.
Например, с нашия добре оформен документ AML, съществуват следните маркери:
- <Бюлетин>
-
- <Име>
-
-
-
Ако сте запознати с бюлетина на Web Writer, може да разпознаете различните секции на бюлетина. Това прави много лесно създаването на нови XML документи, използващи същия стандартен формат. Знам, че винаги ще поставя цялото дълго заглавие в маркера и URL адреса на първата секция в маркера.
DTDs
Ако се изисква да напишете валиден документ XML, за да използвате данните или да ги обработвате, бихте ги включили в документа с маркера. В този маркер дефинирате базовия XML маркер в документа и местоположението на DTD (обикновено уеб URI). Например:
Едно хубаво нещо за декларациите на DTD е, че можете да декларирате, че DTD е локален за системата, където XML документът е със "SYSTEM". Можете да посочите и публичен DTD, например с документ HTML 4.0:
Когато използвате и двете, вие казвате на документа да се използва конкретен DTD (публичен идентификатор) и къде да го намерите (идентификатор на системата).
И накрая, можете да включите вътрешен DTD директно в документа в рамките на маркера DOCTYPE. Например (това не е пълно DTD за документа AML):
]>XML Схема
За да създадете валиден XML документ, можете също така да използвате XML Schema документ, за да дефинирате вашия XML. XML Schema е XML документ, който описва XML документи. Научете как да напишете схема.
Забележка
Самото насочване към схема на DTD или XML не е достатъчно. XML, който е в документа, трябва да следва правилата в DTD или Схемата. Използването на валидиращ анализатор е лесен начин да проверите дали вашият XML е в съответствие с правилата на DTD. Можете да намерите много такива съставители онлайн.