XML / XSD-validator
På serversidenEksempler
Valideringsresultat
XSD-skjema
XML-dokument
Tekniske detaljer
Slik fungerer XML / XSD-validatoren
Hva verktøyet gjør
Denne XML XSD-validatoren sjekker XML-dokumenter mot XML Schema-definisjoner ved hjelp av behandling på serversiden. Verktøyet validerer struktur, datatyper, elementrekkefølge og attributtkrav som er definert i skjemaet ditt. Når valideringen mislykkes, rapporterer det spesifikke feil med linje- og kolonnenumre når tilgjengelig. Validatoren håndterer navnerom, komplekse typer, sekvensbegrensninger og skjemafasetter som mønstermatching og verdibegrensninger.
Eksempel: Validering av bokkatalog
Vurder dette XSD-skjemaet som krever at bøker har heltalls-ID-er og desimalpriser:
<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>Ugyldig XML som <book id="abc"><price>not-a-number</price></book>ville feile validering med typebegrensningsfeil for både ID-attributtet og price-elementet.
Vanlige bruksområder
Utviklere bruker XML Schema-validering når de integrerer med SOAP-API-er, validerer konfigurasjonsfiler eller behandler datautvekslingsformater. Vanlige scenarier inkluderer å validere API-responser mot publiserte skjemaer, sjekke konfigurasjonsfiler før utrulling og sikre datakvalitet i ETL-pipelines. Validatoren er spesielt nyttig for å fange opp typeavvik, manglende påkrevde elementer og feil elementrekkefølge før data når produksjonssystemer.
Valideringsmotor og begrensninger
Dette verktøyet bruker libxml2 via libxmljs Node.js-bindingen og gir samsvar med XML Schema 1.0. Validatoren behandler skjemaer helt på serversiden av sikkerhetshensyn og henter ikke eksterne ressurser eller løser nettverksbaserte importer. Behandling av eksterne entiteter (XXE) er deaktivert for sikkerhet. Skjema-inkluderinger og importer fungerer bare hvis alle refererte skjemaer er inkludert i hovedinnholdet i XSD-en.
- Nettverkstilgang:Blokkert av sikkerhetshensyn
- Skjemaimporter:Må være inline, ingen ekstern oppløsning
- Eksterne entiteter:Deaktivert (XXE-beskyttelse)
- Behandlingsgrenser:Rimelige størrelsesgrenser gjelder
Behandling på serversiden vs. klientsiden
Kontroller av XMLs velformethet på klientsiden er tilstrekkelig for grunnleggende syntaksvalidering. XSD-validering krever imidlertid en spesialisert motor fordi nettlesere ikke inkluderer XML Schema-prosessorer. Validering på serversiden sikrer konsistente resultater, håndterer komplekse skjemafunksjoner som arv og importer, og gir sikkerhetsisolasjon fra potensielt ondsinnet XML-innhold.