• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

XML Schema

ZeitGeist

Lounge-Member
Hallo
ich quäle mich gerade durch dieses XML-Schema und habe dazu ein paar Fragen. Vielleicht kann mir ja wer helfen.

1.
HTML:
<xs:complexType name="tExtensibleElements">
  <xs:sequence>
    <xs:element name="documentation" type="xs:anyType" minOccurs="0"/>
    <xs:element name="toolInfo" type="xs:anyType" minOccurs="0"/>
  </xs:sequence>
  <xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
a. beudeuted das <xs:anyAttribute...> das ich Elemente vom Typ tExtenseibleElements um beliebige Attribute (das wären dann doch die Name-Wert Zuweisung innerhalb des öffnenden Tags) ergänzen darf?
b. Bedeuted das namespace="##other" dass das Attribute nicht wie ein in diesem xml-Schema deklariertes Attribute heißen darf?
c. was beudetet processContents="lax" ?
d. wenn ich statt anyAttribute nur any habe, kann ich dann sowohl Attribute als auch Elemente ergänzen?

2.
HTML:
<xs:element name="epml" type="epml:typeEPML">
  <xs:unique name="typeId">
    <xs:selector xpath=".//*"/>
    <xs:field xpath="@typeId"/>
  </xs:unique>
  <xs:keyref name="typeRef" refer="typeId">
    <xs:selector xpath=".//*"/>
    <xs:field xpath="@typeRef"/>
  </xs:keyref>
</xs:element>
Hier verstehe ich leider kaum was.
a. unique ist wohl dazu da ein Element/Attribut (?) als eindeutig zu deklarieren.
b. Mit dem selector bestimme ich die Elemente (aber was bedeuted .//*) deren Attribut typeId eindeutig sein muss, richtig?
c. mit keyref deklariere ich alle typeRef attribute aller Elemente die ich mit dem Selector bestimme als Referenz auf den refer typeId, richtig?

3.
was bedeutet dieser xpath:
xpath=".//toProcess"
(es gibt ein element toProcess)

dank im voraus!
 
Mit "Schemas" hab' ich eigentlich nichts zu tun (brauchen wir nicht), aber eine gute Quelle für mich ist www.xml.com

Für Dich wäre Schemas interessant. Auch empfehlenswert, jedenfalls für mich, ist der monatliche Artikel von Bob Ducharme
XSLT- XPATH

Vielleicht hilft Dir das ja weiter. Wenn nicht, frag' nochmal nach, dann schau' ich mir's nochmal genauer an.
 
Danke Malleus, das hat mir schon mal ein Stück weiter geholfen.
Probleme bereiteten mir noch:

1. namespace="##other"
##other (any namespace other than the target)
Bedeutet dass, das ich in meinem Fall das Element um beliebige Elemente/Attribute ergänzen kann, solange sie nicht aus diesem Schema stammen? Oder darf ich dem Element auch andere Elemente die in diesem Schema deklariert worden, zuweisen?

2. processContent="lax"
ist mir immer noch ein Rätsel.

3. Mit den Werten im xpath kann ich noch nicht allzuviel anfangen. Ich vermute mal das es sich um eine Art Wildcards handelt, konnte aber nirgendswo ne Übersicht finden.

kann mir da noch wer auf die Sprünge helfen?
 
Wie gesagt, bin leider kein Schema-Experte, nie gebraucht und wird auch in Zukunft immer in meinen XML/XSLT" Büchern "übersprungen" ;-)

..hab aber folgendes gefunden, sieht auch ganz gut aus, such' einfach nach Deinen Schlagwörtern:

http://www.imt.tu-ilmenau.de/~schoen/prakinf-studentenarbeiten/hs-2002-hahn.pdf
http://www.ehringer.de/fh/fh/files/XML-Pr%FCfungsvorbereitung-final.pdf

Kleine Frage: Interessiert's Dich einfach oder mußt Du selbst ein Schema schreiben?

Achso:

xpath=".//toProcess"

bedeutet normalerweise als XSLT: Suche unterhalb des aktuellen Knoten auf irgendeiner Ebene ein Kind mit Namen "toProcess"
 
Zuletzt bearbeitet von einem Moderator:
danke nochmals Malleus, jetzt sind die Fragen geklärt.
Nen Schema muss ich nicht schreiben. Aber ein XML-Dokument welches diesem Schema genügt. Es geht darum Ereignis-Prozess-Ketten als EPML-Datei (das erwähnte xml-Schema beschreibt diese) zu speichern.
 
Alles klar, dann weiter viel Spaß mit XML, und wenn Du mal "viel" Zeit hast, dann schau' Dir mal XSLT an. Damit kann richtig schöne Sachen machen

Tschau

Frank
 
Zurück
Oben