XML-syöte

DTD-syöte

Tarkistuksen tulos

Mikä on XML DTD -validointi?

Jos työskentelet vanhempien yritysjärjestelmien XML-syötteiden kanssa, olet todennäköisesti törmännyt tilanteeseen, jossa dokumentti ei yksinkertaisesti validoidu eikä kukaan muista, mitä DTD odottaa. DTD (Document Type Definition) on alkuperäinen kielioppimekanismi XML 1.0 -spesifikaatiossa -- se määrittelee sallitut elementit, niiden järjestyksen ja sisältösäännöt. DTD on edelleen kaikkialla vanhoissa julkaisutyönkuluissa, XML-pohjaisissa dokumenttiputkistoissa ja työkaluketjuissa, jotka nojautuvat DOCTYPE-pohjaiseen validointiin.

Tämä tarkistin auttaa sinua nopeasti varmentamaan käytännön DTD-vastaavuuden: juuren määrittelyn läsnäolon, määrittelemättömät elementit ja puuttuvat pakolliset lapset yksinkertaisissa sekvensimalleissa. Rikkaampia tyyppirajjoituksia ja moderneja sopimuksia varten käytä XML XSD -tarkistinta.

Miten työkalua käytetään

1

Liitä XML ja DTD

Lisää XML vasempaan paneeliin ja DTD-määrittelyt keskimmäiseen paneeliin. Aloita esimerkkisisällöllä, jos tarvitset nopean mallin.

2

Suorita DTD-tarkistukset

Klikkaa Tarkista verrataksesi ilmoitettuja elementtejä XML-dokumentin rakenteeseen.

3

Korjaa ja suorita uudelleen

Ratkaise puuttuvat määrittelyt tai puuttuvat pakolliset lapsisolmut, sitten tarkista uudelleen. Käytä XML-puunäkymää hierarkian tutkimiseen ennen DTD-sääntöjen muokkaamista.

DTD vs. XSD

DTD on kompakti ja laajasti tuettu vanhoissa järjestelmissä, mutta sillä on rajoitettu tietotyyppikontrolli. XSD on ilmaisuvoimaisempi ja nimiavaruusmyönteisempi. Jos modernisoit XML-putkistoja, validoi ensin nopeasti DTD:llä, sitten migroi sopimukset XSD:hen mahdollisuuksien mukaan.

Validointiesimerkki

Esimerkki: Muistio-asiakirja validoitu DTD:tä vasten

XML-asiakirja:

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

DTD-määritys (note.dtd):

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

Usein kysyttyä

Miten validoin XML:n DTD:tä vasten verkossa?

Liitä XML vasempaan paneeliin ja DTD-määrittelyt keskipaneeliin, napsauta sitten Tarkista. Työkalu tarkistaa juurimäärittelyt, määrittelemättömät elementit ja puuttuvat pakolliset lapset -- kaikki paikallisesti selaimessasi.

Voinko käyttää inline DOCTYPE DTD -pätkiä?

Kyllä. Liitä <!ELEMENT>- ja <!ATTLIST>-määrittelyt suoraan DTD-paneeliin ilman DOCTYPE-lohkoa.

Lähetetäänkö XML-tietoni palvelimelle?

Ei. Kaikki DTD-validoinnin käsittely tapahtuu kokonaan selaimessasi. Mitään ei ladata, joten se on turvallista käyttää tuotantosyötteiden ja arkaluonteisten dokumenttien kanssa.

Mikä on DTD- ja XSD-validoinnin ero?

DTD on alkuperäinen XML-kielioppi W3C XML 1.0 -spesifikaatiosta -- kompakti ja laajasti tuettu, mutta rajoitettu tietotyyppikontrollissa. XSD lisää rikkaampia tyyppirajotuksia ja nimiavaruustuen.

Mitä pitäisi tarkistaa ennen DTD-validointia?

Suorita ensin XML-tarkistin varmistaaksesi, että dokumenttisi on hyvin muodostettua XML:ää. DTD-validointi olettaa kelvollisen XML-syntaksin lähtökohtana.

Liittyvät työkalut

Viittaukset: XML 1.0, XML 1.1, DTD XML-spesifikaatiossa, MDN XML-opas.