XML / XSD -validaattori
PalvelinpuolellaEsimerkit
Validoinnin tulos
XSD-skeema
XML-dokumentti
Tekniset tiedot
Miten XML / XSD -validaattori toimii
Mitä työkalu tekee
Tämä XML XSD -validaattori tarkistaa XML-dokumentit XML Schema -määrittelyjä vasten palvelinpuoleisella käsittelyllä. Työkalu validoi skeemassa määritellyn rakenteen, tietotyypit, elementtien järjestyksen ja attribuuttivaatimukset. Kun validointi epäonnistuu, se raportoi tarkat virheet rivin ja sarakkeen numeroilla, kun saatavilla. Validaattori käsittelee nimiavaruudet, kompleksityypit, sekvenssirajoitteet ja skeemafasetit, kuten kaavion (pattern) täsmäytyksen ja arvorajoitukset.
Esimerkki: Kirjakatalogin validointi
Tarkastellaan tätä XSD-skeemaa, joka vaatii kirjoille kokonaislukumuotoiset ID:t ja desimaalihinnat:
<xs:element name="book">
<xs:complexType>
<xs:sequence>
<xs:element name="title" type="xs:string"/>
<xs:element name="price" type="xs:decimal"/>
</xs:sequence>
<xs:attribute name="id" type="xs:integer" use="required"/>
</xs:complexType>
</xs:element>Virheellinen XML, kuten <book id="abc"><price>not-a-number</price></book> epäonnistuisi validoinnissa tyyppirajoitevirheillä sekä ID-attribuutille että price-elementille.
Yleiset käyttötapaukset
Kehittäjät käyttävät XML Schema -validointia integroidessaan SOAP-rajapintoihin, validoidessaan konfiguraatiotiedostoja tai käsitellessään tiedonvaihtoformaatteja. Yleisiä skenaarioita ovat API-vastausten validointi julkaistuja skeemoja vasten, konfiguraatiotiedostojen tarkistaminen ennen käyttöönottoa ja datan laadun varmistaminen ETL-putkissa. Validaattori on erityisen hyödyllinen tyyppivirheiden, puuttuvien pakollisten elementtien ja virheellisen elementtijärjestyksen havaitsemisessa ennen kuin data päätyy tuotantojärjestelmiin.
Validointimoottori ja rajoitukset
Tämä työkalu käyttää libxml2:ta libxmljs Node.js -sidoksen kautta ja tarjoaa XML Schema 1.0 -yhteensopivuuden. Validaattori käsittelee skeemat kokonaan palvelinpuolella turvallisuuden vuoksi eikä hae ulkoisia resursseja tai ratkaise verkon kautta tuotavia importteja. Ulkoisten entiteettien käsittely (XXE) on poistettu käytöstä turvallisuuden vuoksi. Skeeman include- ja import-toiminnot toimivat vain, jos kaikki viitatut skeemat on annettu pää-XSD-sisällössä.
- Verkkoyhteys:Estetty turvallisuussyistä
- Skeemaimportit:On oltava sisäkkäin, ei ulkoista resolvointia
- Ulkoiset entiteetit:Pois käytöstä (XXE-suojaus)
- Käsittelyrajat:Kohtuulliset kokorajat ovat voimassa
Palvelinpuolen vs. asiakaspuolen käsittely
Asiakaspuolen XML:n hyvinmuodostuneisuuden tarkistukset riittävät perussyntaksin validointiin. XSD-validointi vaatii kuitenkin erikoistuneen moottorin, koska selaimet eivät sisällä XML Schema -prosessoreita. Palvelinpuolen validointi varmistaa yhdenmukaiset tulokset, käsittelee monimutkaisia skeemaominaisuuksia, kuten periytymistä ja importteja, ja tarjoaa tietoturvaeristyksen mahdollisesti haitalliselta XML-sisällöltä.