XML-inndata

XSD-skjema utdata

Eksempler på XML-schema-generator

Eksempel-XML analyseres for å utlede et XSD-skjema. Eksempel:

XML-inndata vs. generert XSD

XML-inndata:

Inndata

Generert XSD-skjema:

Utdata

Bruk Eksempel ovenfor for å laste inn mer eksempeldata. Faktisk utdata kan variere basert på skjemageneratorlogikken.

Hva er en XML-schema-generator?

XSD (XML Schema Definition) er en W3C-standard for å beskrive strukturen, datatypene og begrensningene til XML-dokumenter. Den definerer hvilke elementer og attributter som er tillatt, deres rekkefølge og innholdstyper. W3C XML Schema-spesifikasjonen definerer full XSD-syntaks.

Dette verktøyet utleder et XSD-skjema fra et eksempel-XML-dokument. Det analyserer elementer, attributter og nesting for å produsere et startskjema. Generering kjører i nettleseren din; ingenting sendes til en server. Du kan deretter finjustere skjemaet manuelt for validering, dokumentasjon eller kodegenerering.

Slik bruker du verktøyet

1

Lim inn eller last opp XML

Lim inn XML i editoren til venstre eller last opp en fil. Bruk Eksempel for eksempeldata. Jo mer representativt eksempelet er (inkludert valgfrie elementer, attributter og variert innhold), jo bedre er det utledede skjemaet. Sørg for at XML-en er velformet.

2

Gå gjennom generert XSD

Høyre panel viser generert XSD. Elementer, attributter og typer utledes fra eksempelet. Sjekk at strukturen stemmer med forventningene dine. Det kan hende du trenger å justere minOccurs, maxOccurs eller legge til begrensninger.

3

Kopier, last ned eller rediger

Bruk Kopier eller Last ned for å lagre skjemaet. Rediger etter behov for bruken din. For å validere XML mot et XSD, bruk XML-validatoren. For JSON Schema fra JSON, bruk JSON Schema Generator.

Når skal du bruke et generert skjema

Bruk et generert XSD når du har eksempel-XML og trenger et skjema for validering, dokumentasjon eller verktøy (f.eks. kodegenerering, IDE-støtte). Vanlig for SOAP API-er, RSS-feeder eller bedriftsintegrasjoner. Det er et utgangspunkt — utledede skjemaer gjenspeiler bare det som vises i eksempelet. For JSON, bruk JSON Schema Generator.

Eksempel: Generer XSD fra et XML-dokument

XML-inndata:

<user>
  <id>1</id>
  <name>Alice</name>
  <email>[email protected]</email>
  <active>true</active>
</user>

Generert XSD-skjema:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="user">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="id" type="xs:integer"/>
        <xs:element name="name" type="xs:string"/>
        <xs:element name="email" type="xs:string"/>
        <xs:element name="active" type="xs:boolean"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

Ofte stilte spørsmål

Er skjemaet komplett?

Det gjenspeiler eksempelet. Valgfrie elementer, minOccurs/maxOccurs og begrensninger kan trenge manuell justering. Generatoren utleder struktur fra det den ser; den kan ikke vite om elementer som ikke vises i eksempelet ditt.

Kan jeg validere XML mot dette XSD?

Ja. Bruk en XSD-validator (f.eks. XML-validator eller eksterne verktøy). Dette verktøyet genererer skjemaet; validering er et separat trinn. Sørg for at XML-en refererer til skjemaet korrekt.

Er dataene mine private?

Ja. Skjemagenerering kjører helt i nettleseren din. Ingen XML eller skjema sendes til noen server.

Hva kan jeg gjøre med det genererte XSD?

Ganske mye! Du kan bruke det til å validere XML-dokumenter (prøv XML-validatoren), dele det med kollegene dine slik at alle kjenner den forventede strukturen, koble det til IDE-er som VS Code eller IntelliJ for XML-autofullfør, eller bruke det som utgangspunkt for kodegenerationsverktøy. Husk at det er utledet fra eksemplet ditt — så gå gjennom det og legg til begrensninger eller valgfrie elementer som de virkelige dataene dine kanskje har.

Relaterte verktøy

For XSD-syntaks og -semantikk, se W3C XML Schema og XML Schema 1.1 Del 1. For XML, se W3C XML-spesifikasjonen og W3C XML. For parsing av XML i nettleseren, se MDN DOMParser. For XPath (brukt i XSD), se XPath 3.1. For JSON Schema, se JSON Schema.