XML / XSD validator
Na poslužiteljuPrimjeri
Rezultat provjere
XSD shema
XML dokument
Tehnički detalji
Kako radi XML / XSD validator
Što alat radi
Ovaj XML XSD validator provjerava XML dokumente prema definicijama XML Schema koristeći serversku obradu. Alat validira strukturu, tipove podataka, redoslijed elemenata i zahtjeve za atribute definirane u vašoj shemi. Kada validacija ne uspije, prijavljuje specifične pogreške s brojevima redaka i stupaca kada su dostupni. Validator obrađuje namespaceove, složene tipove, ograničenja sekvenci i facet-e sheme poput podudaranja uzorka i ograničenja vrijednosti.
Primjer: validacija kataloga knjiga
Razmotrite ovu XSD shemu koja zahtijeva da knjige imaju cjelobrojne ID-ove i decimalne cijene:
<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>Nevažeći XML poput <book id="abc"><price>not-a-number</price></book>ne bi prošao validaciju s pogreškama ograničenja tipa i za atribut ID i za element price.
Uobičajeni slučajevi upotrebe
Programeri koriste validaciju XML Schema pri integraciji sa SOAP API-jima, validaciji konfiguracijskih datoteka ili obradi formata razmjene podataka. Uobičajeni scenariji uključuju validaciju API odgovora prema objavljenim shemama, provjeru konfiguracijskih datoteka prije deploya i osiguravanje kvalitete podataka u ETL cjevovodima. Validator je posebno koristan za otkrivanje nepodudaranja tipova, nedostajućih obaveznih elemenata i pogrešnog redoslijeda elemenata prije nego što podaci dođu do produkcijskih sustava.
Validacijski engine i ograničenja
Ovaj alat koristi libxml2 putem Node.js bindinga libxmljs, pružajući usklađenost s XML Schema 1.0. Validator obrađuje sheme u potpunosti na poslužitelju radi sigurnosti i ne dohvaća vanjske resurse niti razrješava importe temeljene na mreži. Obrada vanjskih entiteta (XXE) onemogućena je radi sigurnosti. Schema include i import rade samo ako su sve referencirane sheme uključene u glavni XSD sadržaj.
- Mrežni pristup:Blokirano radi sigurnosti
- Importi sheme:Moraju biti inline, bez vanjskog razrješavanja
- Vanjski entiteti:Onemogućeno (XXE zaštita)
- Ograničenja obrade:Primjenjuju se razumna ograničenja veličine
Obrada na poslužitelju naspram obrade na klijentu
Provjere ispravne oblikovanosti XML-a na klijentskoj strani dovoljne su za osnovnu provjeru sintakse. Međutim, XSD validacija zahtijeva specijalizirani mehanizam jer preglednici ne uključuju procesore za XML Schema. Validacija na poslužitelju osigurava dosljedne rezultate, obrađuje složene značajke sheme poput nasljeđivanja i uvoza te pruža sigurnosnu izolaciju od potencijalno zlonamjernog XML sadržaja.