hgento: element einem XML Schema hinzufügen

Beitrag lesen

Hallo,

ich habe ein bestehendes xml dokument mit zugehörigem xsd schema. Ich möchte nun gerne das schema erweitern, da ich in der xml datei ein xinclude eingefügt habe. dazu habe ich ein neues schema mit einem neuen namespace erstellt und das alte schema über <import.... /> importiert. Dass funktioniert auch insofern ganz gut. Allerdings gibt es einen kleines Problem hinsichtlich der Erweiterung der XML.

Das root Element im original schema liegt so vor:

<element name="root">
    <annotation>
      <documentation>
          This is the root.
      </documentation>
    </annotation>
    <complexType>
      <sequence>
        <element ref="zu:xx" minOccurs="1" maxOccurs="unbounded"/>
        <element ref="zu:yy" minOccurs="0" maxOccurs="unbounded"/>
        <choice minOccurs="0" maxOccurs="unbounded">
          <element ref="to:aa"/>
          <element ref="to:bb"/>
          <element ref="to:cc"/>
          <element ref="to:dd"/>
        </choice>
      </sequence>
      <attribute name="id" type="ID" use="optional"/>
      <anyAttribute namespace="http://www.w3.org/XML/1998/namespace" processContents="lax"/>
    </complexType>
  </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  . 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. Daher wuerde ich gern die choice gruppe um ein element erweitern und dann auch in der xml datei meine zusätzlichen Information unter diesem Element fortführen. Kann man das irgendwie in dem zwiten schema realisieren? Ich hoffe es war etwas verständlich.