New-XmlSkeletonFromXsd

EulandaXtools — Funktionsreferenz

New-XmlSkeletonFromXsd

ÜBERSICHT

Erzeugt ein hierarchisches XML-Skeleton aus einer XSD-Datei.

SYNTAX

New-XmlSkeletonFromXsd [-XsdPath] <string> [[-RootName] <string>] [[-DestinationPath] <string>]
    [-WithComments] [-WithDeclaration] [-MandatoryOnly] [<CommonParameters>]

BESCHREIBUNG

Liest eine XSD-Datei und baut daraus ein leeres XML-Dokument mit verschachtelten Elementen gemäß der xs:complexType/xs:sequence Struktur. Optional können Kommentare aus Get-CommentMapFromXsd eingefügt werden. Mit -DestinationPath wird die Ausgabe als eingerückte UTF-8-XML-Datei gespeichert.

PARAMETER

-XsdPath

Type: string

Pfad zur XSD-Datei.

-RootName

Type: string

Überschreibt den Root-Knoten mit neuem Namen. Wird ein nicht im XSD spezifizierter Rootname verwendet, ist das XML nicht mehr gegen das XSD valide. Wenn mehrere Rootvarianten im XSD erlaubt sind, kann mit diesem Parameter gezielt eine davon gewählt werden. Standardmäßig wird ansonsten das erste gefundene Root-Element aus dem Schema verwendet.

-DestinationPath

Type: string

Pfad zur Ausgabedatei. Wenn gesetzt, wird das Skeleton dort als eingerücktes UTF-8-XML gespeichert.

-WithComments

Type: switch

Fügt Kommentare aus der CommentMap ein.

-WithDeclaration

Type: switch

Schreibt die XML-Deklaration (Default). Ohne diesen Switch wird keine Deklaration erzeugt.

-MandatoryOnly

Type: switch

Wenn gesetzt, werden nur Elemente mit minOccurs >= 1 berücksichtigt. Optionale Elemente (minOccurs="0") und deren Kinder werden nicht erzeugt.

AUSGABEN

[xml] Dokument (wenn -DestinationPath nicht gesetzt ist)

BEISPIELE

# Einfaches Skeleton erzeugen
$xml = New-XmlSkeletonFromXsd -XsdPath '.\EULANDA-orders.xsd'
# Skeleton mit Kommentaren speichern, ohne Deklaration
New-XmlSkeletonFromXsd -XsdPath '.\EULANDA-orders.xsd' `
                       -WithComments `
                       -DestinationPath '.\orders.xml' `
                       -WithDeclaration
# Nur Pflichtfelder berücksichtigen
New-XmlSkeletonFromXsd -XsdPath '.\EULANDA-orders.xsd' -MandatoryOnly