DevToys Web Pro iconDevToys Web ProBlogi
Hinda meid:
Proovi brauserilaiendust:

XML / XSD validaator

Serveripoolne

Näidised

Valideerimise tulemus

Valideerimise laadimine...

XSD skeem

  • XML-dokument

  • Loading editor...
    Loading editor...
    Tehnilised üksikasjad

    Kuidas XML / XSD validaator töötab

    Mida tööriist teeb

    See XML XSD validaator kontrollib XML-dokumente XML Schema definitsioonide vastu serveripoolse töötlemise abil. Tööriist valideerib skeemis määratletud struktuuri, andmetüüpe, elementide järjestust ja atribuutide nõudeid. Kui valideerimine ebaõnnestub, raporteerib see võimalusel konkreetsed vead koos rea- ja veerunumbritega. Validaator käsitleb nimeruume, kompleksseid tüüpe, järjestuspiiranguid ja skeemi tahke, nagu mustrivastavus ja väärtuse piirangud.

    Näide: raamatukataloogi valideerimine

    Vaatle seda XSD skeemi, mis nõuab, et raamatutel oleksid täisarvulised ID-d ja kümnendhinnad:

    <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>

    Vigane XML, näiteks &lt;book id="abc"&gt;&lt;price&gt;not-a-number&lt;/price&gt;&lt;/book&gt; ei läbiks valideerimist, kuna nii ID atribuudi kui ka price elemendi puhul tekiksid tüübinõuete rikkumise vead.

    Levinud kasutusjuhud

    Arendajad kasutavad XML Schema valideerimist SOAP API-dega integreerimisel, konfiguratsioonifailide valideerimisel või andmevahetusvormingute töötlemisel. Levinud stsenaariumid hõlmavad API vastuste valideerimist avaldatud skeemide vastu, konfiguratsioonifailide kontrollimist enne juurutamist ja andmekvaliteedi tagamist ETL torujuhtmetes. Validaator on eriti kasulik tüübi mittevastavuste, puuduvate kohustuslike elementide ja vale elementide järjestuse tabamiseks enne, kui andmed jõuavad tootmissüsteemidesse.

    Valideerimismootor ja piirangud

    See tööriist kasutab libxml2 teeki läbi libxmljs Node.js siduse, pakkudes XML Schema 1.0 vastavust. Validaator töötleb skeeme täielikult serveripoolel turvalisuse huvides ega laadi väliseid ressursse ega lahenda võrgupõhiseid importimisi. Väliste entiteetide töötlemine (XXE) on ohutuse tagamiseks keelatud. Skeemi include ja import toimivad ainult siis, kui kõik viidatud skeemid on esitatud peamise XSD sisu sees.

    • Võrgule ligipääs:Turvalisuse huvides blokeeritud
    • Skeemi importimised:Peavad olema inline, väliseid viiteid ei lahendata
    • Välised entiteedid:Keelatud (XXE kaitse)
    • Töötlemispiirangud:Kehtivad mõistlikud suurusepiirangud

    Serveripoolne vs kliendipoolne töötlemine

    Kliendipoolsed XML-i korrektsuse (well-formedness) kontrollid on piisavad põhiliseks süntaksi valideerimiseks. Kuid XSD valideerimine nõuab spetsialiseeritud mootorit, sest brauserid ei sisalda XML Schema töötlejaid. Serveripoolne valideerimine tagab ühtsed tulemused, käsitleb keerukaid skeemifunktsioone nagu pärilus ja import ning pakub turvalist isolatsiooni potentsiaalselt pahatahtliku XML-sisu eest.