XML / XSD-validator
På serversidenEksempler
Valideringsresultat
XSD-skema
XML-dokument
Tekniske detaljer
Sådan fungerer XML / XSD-validatoren
Hvad værktøjet gør
Denne XML XSD-validator kontrollerer XML-dokumenter mod XML Schema-definitioner ved hjælp af server-side behandling. Værktøjet validerer struktur, datatyper, elementrækkefølge og attributkrav, der er defineret i dit skema. Når valideringen fejler, rapporterer den specifikke fejl med linje- og kolonnenumre, når de er tilgængelige. Validatoren håndterer namespaces, komplekse typer, sekvensbegrænsninger og skemafacetter som mønstermatchning og værdibegrænsninger.
Eksempel: Validering af bogkatalog
Overvej dette XSD-skema, der kræver, at bøger har heltals-id'er og decimale priser:
<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 fejle valideringen med typebegrænsningsfejl for både ID-attributten og price-elementet.
Almindelige anvendelser
Udviklere bruger XML Schema-validering ved integration med SOAP-API'er, validering af konfigurationsfiler eller behandling af dataudvekslingsformater. Almindelige scenarier inkluderer validering af API-svar mod publicerede skemaer, kontrol af konfigurationsfiler før deployment og sikring af datakvalitet i ETL-pipelines. Validatoren er særligt nyttig til at fange typeuoverensstemmelser, manglende obligatoriske elementer og forkert elementrækkefølge, før data når produktionssystemer.
Valideringsmotor og begrænsninger
Dette værktøj bruger libxml2 via libxmljs Node.js-bindingen og giver overensstemmelse med XML Schema 1.0. Validatoren behandler skemaer udelukkende server-side af hensyn til sikkerhed og henter ikke eksterne ressourcer eller resolver netværksbaserede imports. Behandling af eksterne entiteter (XXE) er deaktiveret af sikkerhedshensyn. Schema includes og imports fungerer kun, hvis alle refererede skemaer er angivet i det primære XSD-indhold.
- Netværksadgang:Blokeret af sikkerhedshensyn
- Schema imports:Skal være inline, ingen ekstern resolution
- Eksterne entiteter:Deaktiveret (XXE-beskyttelse)
- Behandlingsgrænser:Rimelige størrelsesgrænser gælder
Server-side vs. klient-side behandling
Klient-side tjek af XMLs velformethed er tilstrækkelige til grundlæggende syntaksvalidering. XSD-validering kræver dog en specialiseret motor, fordi browsere ikke indeholder XML Schema-processorer. Server-side validering sikrer ensartede resultater, håndterer komplekse skemafunktioner som nedarvning og imports og giver sikkerhedsmæssig isolation fra potentielt ondsindet XML-indhold.