hasp: XMLSchema (XSL)

Hallo, ich steh total auf dem Schlauch und wäre euch sehr zu Dank verpflichtet, wenn Ihr mir runter helfen könntet ...

Zum Thema:
Ich würde gerne ein XSD zu folgendem XML schreiben (hier etwas vereinfacht, reicht aber für mein Problem).
Mein Problem ist die Fehlermeldung:
hasp:root cannot have a namespace prefix us ref instead ...

DAS XML
<hasp:shorties xmlns:hasp="http://www.hasp.de"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:noNamespaceSchemaLocation="val\shorties.xsd">
hasp:tutorial
  hasp:titleTEXT</hasp:title>
  hasp:literature
    hasp:root
      hasp:hintTEXT</hasp:hint>
      hasp:descriptionTEXT</hasp:description>
    </hasp:root>
    hasp:root
      ...
    </hasp:root>
  </hasp:literature>
</hasp:tutorial>
hasp:tutorial
  ...
</hasp:tutorial>
</hasp:shorties>

DAS XSD:
Würde dummerweise wahrscheinlich den Rahme dieser Nachricht sprengen, daher in Kurzform:
<xsd:schema targetNamespace="http://www.hasp.de" xmlns:hasp="http://www.hasp.de"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
....
  <xsd:complexType name="literatureType">
    xsd:sequence
     <xsd:element name="hasp:root" type="rootType"/>
    </xsd:sequence>
  </xsd:complexType>
...
</xsd:schema>

DANKE
Hannes Schmidpeter

  1. Hi,

    Würde dummerweise wahrscheinlich den Rahme dieser Nachricht sprengen, daher in Kurzform:
    <xsd:schema targetNamespace="http://www.hasp.de" xmlns:hasp="http://www.hasp.de"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    ....
      <xsd:complexType name="literatureType">
        xsd:sequence
         <xsd:element name="hasp:root" type="rootType"/>

    laß den Namespace im Schema weg. Der hat da m.E. nichts verloren.

    Ich versteh auch nicht, wozu Du im XML den Namespace verwendest - scheinen doch alle Elemente aus demselben Namespace zu kommen, also gibt es keine Namenskonflikte.

    cu,
    Andreas

    --
    MudGuard? Siehe http://www.Mud-Guard.de/
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    1. Danke Andreas,
      es ging mir auch nur darum zu verstehen wie es denn mit mehreren namespaces funktionieren würde, d.h. was ist wenn ich zwei versch. namespaces in meinem XML-Dolument habe und ich würde gerne ein XSD schreiben. Mit einer DTD ist das ja ganz leicht, aber mit einem Schema? Wenn ich im XSD einfach die Namespaces weglasse, wie kann dannn ein Parser validieren? (Klassisches Beispiel in einer XML-Datei kommen zwei Schüsseln vor einmal Geschirr einmal Satelit, die Subelemente unterscheiden sich natürlich gravierend, Lösung, logisch --> zwei Namespaces geschirr und sat, aber wie wird via XSD validiert?)

      Danke
      Hannes

      1. Hi,

        es ging mir auch nur darum zu verstehen wie es denn mit mehreren namespaces funktionieren würde, d.h. was ist wenn ich zwei versch. namespaces in meinem XML-Dolument habe und ich würde gerne ein XSD schreiben. Mit einer DTD ist das ja ganz leicht, aber mit einem Schema? Wenn ich im XSD einfach die Namespaces weglasse, wie kann dannn ein Parser validieren? (Klassisches Beispiel in einer XML-Datei kommen zwei Schüsseln vor einmal Geschirr einmal Satelit, die Subelemente unterscheiden sich natürlich gravierend, Lösung, logisch --> zwei Namespaces geschirr und sat, aber wie wird via XSD validiert?)

        Ein Schema beschreibt doch immer nur einen einzigen Namensraum.

        Im XML können mehrere Namespaces verwendet werden, dann werden die Element-Namen/Attribut-Namen mit einem Namespace-Identifier versehen.
        Und die Verbindung, welche Elemente im XML aus welchem Namensraum kommen, wird dann über die xmlns:bla-Attribute hergestellt.

        cu,
        Andreas

        --
        MudGuard? Siehe http://www.Mud-Guard.de/
        Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
        1. OKAY,

          jetzt kommen wir der Sache näher, wie "markiere" ich ein Schema für den Namensraum xyz?
          Ich hoffe ich habe mich verständlich ausgedrückt, soweit ich dich verstanden habe existiert ein schemal für satelit und eines für geschirr ... wie halte ich/der parser die beiden auseinander?

          Danke
          Hannes