Thomas J.S.: element einem XML Schema hinzufügen

Beitrag lesen

Hallo,

Das root Element im original schema liegt so vor:

<element name="root">

[...]

</element>

Das Schema möchte bzw. kann ich nicht ändern. Wie kann ich nun in dem anderen Schema hinterlegen, das die xml Datei neben den elementen to:aa to:bb to:cc to:dd noch ein weiteres Element zulässig ist zb tx:ee

Nein, du hast keine Chance.

  1. die Verwendung von Namensräumen sagt, dass in der Schema noch was anderes vorhanden ist (andere Schemas die inkludiert werden, sonst wäre es nicht möglich ein zu:xx zu referenzieren, denn ein <xs:element name="zu:xx"> ist nicht zulässig)das wiederum bedeutet einen tragetNamespace*

  2. du könntest theoretisch zwar xs:redefine verwenden, aber nicht um Elemente zu redefinieren.
    (link:http://www.edition-w3c.de/TR/2001/REC-xmlschema-1-20010502/#modify-schema])
    * Und wenn der targetNamespace nicht derselbe ist wie in "deinem" schema geht es gar nicht.

Deshalb hast du keine Möglichkeit das root-Element nicht neu definieren.

. Ich könnte das Element tx:ee im zweiten Schema als

<element name="ee" substitutionGroup="to:ee">
.
.
</element>

definieren (funktioniert auch soweit). Allerdings hat dies den Nachteil, dass an dem Elemten to:aa einige Bedingungen hängen, die mich einschränken.

Was hat die Definition von aa mit der Definition von 'wasauchimmer' zu tun (es sei denn, durch unique oder key/keyref)?

Grüße
Thomas