Конвертиране на XML файл, за да бъде добре оформен

Научете как да пишете добре форматиран и валиден XML

Понякога е по-лесно да разберете как да напишете добре формулиран XML, като видите пример. Информационният бюлетин на Web Writer е написан с помощта на формуляр на XML - аз го наричам AML или За Markup Language (виж фигура!). Макар че това е работен документ, всъщност не е добре оформен или валиден XML документ.

Добре оформени

Има някои конкретни правила за създаване на добре оформен XML документ:

Има само два проблема с документа, които го правят не добре оформени:

Първото нещо, от което документът AML се нуждае, е изявление на XML декларация.

Другият проблем е, че няма нито един елемент, който да обхваща напълно всички останали елементи. За да поправя това, ще добавя външен елемент от контейнера:

<Бюлетин>

Извършването на тези две прости промени (и гарантирането, че всички елементи съдържат само 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. Можете да намерите много такива съставители онлайн.