DevToys Web Pro iconDevToys Web ProBlog
Ocijenite nas:
Isprobajte proširenje preglednika:

XML / XSD validator

Na poslužitelju

Primjeri

Rezultat provjere

Učitavanje provjere valjanosti...

XSD shema

  • XML dokument

  • Loading editor...
    Loading editor...
    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 &lt;book id="abc"&gt;&lt;price&gt;not-a-number&lt;/price&gt;&lt;/book&gt;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.