Wejście XML

Wejście DTD

Wynik walidacji

Czym jest walidacja XML DTD?

Jeśli pracujesz z feedami XML ze starszych systemów korporacyjnych, prawdopodobnie trafiłeś na sytuację, w której dokument po prostu nie przechodzi walidacji i nikt nie pamięta, czego oczekuje DTD. DTD (Document Type Definition) to oryginalny mechanizm gramatyki wbudowany w specyfikację XML 1.0 -- deklaruje, które elementy są dozwolone, ich kolejność i reguły treści. DTD jest nadal wszędzie w starszych przepływach pracy wydawniczej, pipelinach dokumentów opartych na XML i łańcuchach narzędzi opartych na walidacji DOCTYPE.

Ten walidator pomaga szybko sprawdzić zgodność z DTD: obecność deklaracji głównej, niezadeklarowane elementy oraz brakujące wymagane elementy podrzędne w prostych modelach sekwencji. W przypadku bogatszych ograniczeń typów i nowoczesnych kontraktów użyj Walidatora XML XSD.

Jak używać tego narzędzia

1

Wklej XML i DTD

Dodaj XML w lewym panelu i deklaracje DTD w środkowym panelu. Zacznij od przykładowej zawartości, jeśli potrzebujesz szybkiego szablonu.

2

Uruchom sprawdzanie DTD

Kliknij Waliduj, aby porównać zadeklarowane elementy ze strukturą dokumentu XML.

3

Popraw i uruchom ponownie

Rozwiąż brakujące deklaracje lub brakujące wymagane węzły podrzędne, a następnie waliduj ponownie. Użyj Przeglądarki drzewa XML, aby sprawdzić hierarchię przed edycją reguł DTD.

DTD vs XSD

DTD jest kompaktowe i szeroko obsługiwane w starych systemach, ale ma ograniczoną kontrolę typów danych. XSD jest bardziej ekspresyjne i przyjazne dla przestrzeni nazw. Przy modernizacji potoków XML waliduj najpierw szybko z DTD, a następnie migruj kontrakty do XSD tam, gdzie to możliwe.

Przykład Walidacji

Przykład: Dokument notatki zwalidowany względem DTD

Dokument XML:

<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "note.dtd">
<note>
  <to>Alice</to>
  <from>Bob</from>
  <body>Meeting at 3 PM</body>
</note>

Definicja DTD (note.dtd):

<!ELEMENT note (to, from, body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT body (#PCDATA)>

Często zadawane pytania

Jak walidować XML względem DTD online?

Wklej swój XML w lewym panelu i deklaracje DTD w środkowym panelu, następnie kliknij Waliduj. Narzędzie sprawdza deklaracje główne, niezadeklarowane elementy i brakujące wymagane elementy podrzędne -- wszystko lokalnie w przeglądarce.

Czy mogę używać inline fragmentów DTD DOCTYPE?

Tak. Wklej swoje deklaracje <!ELEMENT> i <!ATTLIST> bezpośrednio do panelu DTD bez opakowywania ich w blok DOCTYPE.

Czy moje dane XML są wysyłane na serwer?

Nie. Całe przetwarzanie walidacji DTD odbywa się wyłącznie w Twojej przeglądarce. Nic nie jest przesyłane, więc jest bezpieczne do użytku z feedami produkcyjnymi i poufnymi dokumentami.

Jaka jest różnica między walidacją DTD a XSD?

DTD to oryginalna gramatyka XML ze specyfikacji W3C XML 1.0 -- kompaktowa i szeroko wspierana, ale ograniczona w kontroli typów danych. XSD dodaje bogatsze ograniczenia typów i wsparcie przestrzeni nazw.

Co powinienem sprawdzić przed walidacją DTD?

Najpierw uruchom Walidator XML, aby potwierdzić, że dokument jest poprawnie sformułowanym XML. Walidacja DTD zakłada prawidłową składnię XML jako punkt wyjścia.

Powiązane narzędzia

Odniesienia: XML 1.0, XML 1.1, DTD w specyfikacji XML, Przewodnik MDN XML.