2017-01-23 3 views
0

Ich habe ein XML-und ein XSD-Schema dafür, derzeit funktioniert die Validierung gut! Nun möchte ich in einigen besonderen Fällen jedes XML-Element aktivieren, das bestimmte Knoten enthält.XSD-Erweiterung, um jedes Element mit bestimmten Knoten zu aktivieren

z. für gegebene XML

<Root> 
    <Element1 Name="test1>Text1</Element1> 
    <Element2 Name="test2> 
    </Element2> 
</Root> 

würde Ich mag XSD erweitern, so dass jedes Element Knoten Text enthalten könnte.

z.B.

<Root> 
    <Template>element within Root</Template> 
    <Element1 Name="test1>Text1<Template>element inline</Template></Element1> 
    <Element2 Name="test2> 
     <Template>element within Element2</Template> 
    </Element2> 
</Root> 

Ich würde wirklich jede Hilfe schätzen!

BR

+0

Wenn Sie "contain node text" sagen, meinen Sie "containing character data sound child elements"? Oder "ein Template-Element enthalten"? oder was? Die Frage scheint nicht klar zu sein. –

+0

Sorry, ja, es wurde nicht klar genug ausgedrückt. Die Idee war, einen Knoten überall hinzuzufügen – oachkatzlschwoaf

Antwort

0

In XSD 1.0 seiner schwierig, dies zu tun, müssen Sie < xs platzieren: alle > Elemente, wo Sie die ‚alle‘ Elemente angezeigt werden sollen.

aber es ist nicht so einfach, eine < xs Abdrucken: jede > an der falschen Stelle erzeugt Mehrdeutigkeit (und nicht erlaubt ist), und dies deckt fast überall wollen, um sie setzen!

In XSD 1.1 können Open verwenden (brief tutorial), aber auch hier gibt es Probleme, XSD 1.1 ist nicht nativ in .Net unterstützt, aber wenn Sie Ihre Arbeit in Java dann die Xerces XSD unterstützt 1.1 (zumindest eine Beta-Version war verfügbar letztes Mal, als ich schaute).

Verwandte Themen