Moin,
ich möchte eine Erweiterung zu einem bestehenden XML Schema schreiben. Und zwar möchte ich es realisieren, dass ich allen Elementen beliebige Attribute hinzufügen kann (das wird sich später wohl noch ändern, aber da ich noch nicht genau weiss, welche zusätzlichen Attribute ich benötige, möchte ich das erstmal nicht beschränken). Irgendwie sind meine Schema Kenntnisse aber zu begrenzt, ich kriegs einfach nicht hin.
Mein Ansatz bisher sieht so aus:
So funktionierts nur leider nicht, was ja auch logisch ist, weil ich ja einen neuen ComplexType definiere, aber weiterhin die Typen aus den original Schemas nutze. Ich hoffe, ihr versteht was ich meine. Ich möchte die Typen aus den original Schemas ganz normal verwenden, aber halt mit beliebigen zusätzlichen Attributen.
Außerdem weiss ich nicht, ob es eine Wildcard für QNames gibt, so dass ich das ganze erstmal auf ein Element (archtypes:ComponentType) beschränkt habe. Gibts da ne Möglichkeit, die Extension auf alle Elemente zu erweitern, also sowas wie xsd:anyType?
Ich stehe irgendwie ziemlich auf dem Schlauch. :bahnhof:
PS: Die original Schemas möchte ich so lassen wie sie sind.
ich möchte eine Erweiterung zu einem bestehenden XML Schema schreiben. Und zwar möchte ich es realisieren, dass ich allen Elementen beliebige Attribute hinzufügen kann (das wird sich später wohl noch ändern, aber da ich noch nicht genau weiss, welche zusätzlichen Attribute ich benötige, möchte ich das erstmal nicht beschränken). Irgendwie sind meine Schema Kenntnisse aber zu begrenzt, ich kriegs einfach nicht hin.
Mein Ansatz bisher sieht so aus:
Code:
<xsd:schema xmlns="http://www.cs.tu-bs.de/ips"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:archinst="http://www.ics.uci.edu/pub/arch/xArch/instance.xsd"
xmlns:archtypes="http://www.ics.uci.edu/pub/arch/xArch/types.xsd"
targetNamespace="http://www.cs.tu-bs.de/ips"
elementFormDefault="qualified"
attributeFormDefault="qualified">
<xsd:import namespace="http://www.ics.uci.edu/pub/arch/xArch/instance.xsd"
schemaLocation="http://www.isr.uci.edu/projects/xarchuci/core/instance.xsd"/>
<xsd:import namespace="http://www.ics.uci.edu/pub/arch/xArch/types.xsd"
schemaLocation="http://www.isr.uci.edu/projects/xarchuci/ext/types.xsd"/>
<xsd:complexType name="Test">
<xsd:complexContent>
<xsd:extension base="archtypes:ComponentType">
<xsd:anyAttribute namespace="##any" />
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:schema>
So funktionierts nur leider nicht, was ja auch logisch ist, weil ich ja einen neuen ComplexType definiere, aber weiterhin die Typen aus den original Schemas nutze. Ich hoffe, ihr versteht was ich meine. Ich möchte die Typen aus den original Schemas ganz normal verwenden, aber halt mit beliebigen zusätzlichen Attributen.
Außerdem weiss ich nicht, ob es eine Wildcard für QNames gibt, so dass ich das ganze erstmal auf ein Element (archtypes:ComponentType) beschränkt habe. Gibts da ne Möglichkeit, die Extension auf alle Elemente zu erweitern, also sowas wie xsd:anyType?
Ich stehe irgendwie ziemlich auf dem Schlauch. :bahnhof:
PS: Die original Schemas möchte ich so lassen wie sie sind.