Thomas Marti: Nur ein Attribut in XML-Schema definieren?

Beitrag lesen

Hallo

Folgendes Problem: Ich möchte ein XML-Schema haben, dass nur ein
einzelnes Attribut deklariert, aber nicht festlegt in welchem Element, das dies nachher verwendet werden muss.

Ich hab mir das mal so zusammengestiefelt:

------- agnes.xsd --------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schematargetNamespace="http://agnes.sf.net/ns/agnes"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified" xmlns="http://agnes.sf.net/ns/agnes">
 <xsd:complexType name="agnesType">
  <xsd:attribute name="id" type="idType"/>
 </xsd:complexType>
 <xsd:simpleType name="idType">
  <xsd:restriction base="xsd:token">
   <xsd:pattern value="AGID_[0-9a-zA-Z]{16}"/>
  </xsd:restriction>
 </xsd:simpleType>
</xsd:schema>
------- agnes.xsd --------------------------------------------------

Das sollte man nachher so verwenden können:

------- whatever.xsd -----------------------------------------------
<whatever xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:agnes="http://agnes.sf.net/ns/agnes"
 xsi:schemaLocation="http://agnes.sf.net/ns/agnes agnes.xsd"
 agnes:id="AGID_1234567890abcdef">
     <foo>
          <bar/>
     </foo>
</whatever>
------- whatever.xsd -----------------------------------------------

Der XMLSpy beschwert sich aber immer mit folgender Meldung zum Schema: 'No Content Model available for validation (possibly empty DTD/Schema)'

=> Tja nun ist die Frage: Wie erstelle ich eine Schema, welches nur ein einzelnes Attribut definiert??

Danke im voraus...

Gruss, Thomas