"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

XML-Schemas - substitutionGroup

watchout 11.10.2005 - 14:01 1138 9
Posts

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Erstaunlich, wie gut sich Schemas lesen lassen :)

Leider hab ich ein kleines Verständnisproblem noch - und zwar, wie wohl vermutet bei den substitution-groups (ab jetzt SG).

Wenn ich das soweit richtig verstehe sind alle Members einer SG austauschbar.
Wie ist das jetzt aber wenn eine SG genauso heisst wie ein Element (geht das überhaupt? Wenn nicht hab ich's wohl mit einem non-standard Schema hier zu tun, was ich mir eigentlich nicht vorstellen kann...) und dieses Element wieder der Member einer SG ist.

Ein kleines Beispiel, ich habe hier mal alles (imho) unwichtige rausgenommen...
Code:
<xs:element name="a" substitutionGroup="b"/>
<xs:element name="b" substitutionGroup="c"/>
<xs:element name="c" substitutionGroup="d"/>

<xs:complexType name="m">
	<xs:complexContent>
		<xs:sequence>
			<xs:element ref="b"/>
		</xs:sequence>
	</xs:complexContent>
</xs:complexType>
Kann ich jetzt statt b auch a und c verwenden oder nur a oder nur c?

PS:Ich bitte die XML-Schema Fanatiker nicht über meinen Beispiel-Code herzufallen, es geht mir nur um mein Verständnis der Funktion der SG
Bearbeitet von watchout am 12.10.2005, 12:11

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4452
Ich haeng mich in den Thread hier rein, hab aber eine andere Frage bezueglich XML-Schema ;)

Verwendet jemand XML-Schema als Richtliniengrundlage fuer Word 2003 um XML-Dateien zu bearbeiten?

Ich hab schon einige viele Artikel durchgelesen und Beispiele gesehen, sobald es aber komplexer wird, gibts Probleme.

Es geht auch um Darstellung, d.h. wie kann Word unterscheiden ob etwas als block oder inline dargestellt wird usw.

Jemand das schon konkret in der Praxis eingesetzt?

(sorry watchout :))

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
und ich hab mich schon gefreut dass endlich wer antwortet :(

that

Moderator
Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11338
Ich werde mal die Profis fragen und dann berichten.

vossi

been there, done that
Avatar
Registered: Feb 2003
Location: Vienna
Posts: 1436
Zitat von watchout
Code:
<xs:element name="a" substitutionGroup="b"/>
<xs:element name="b" substitutionGroup="c"/>
<xs:element name="d" substitutionGroup="e"/>

<xs:complexType name="m">
	<xs:complexContent>
		<xs:sequence>
			<xs:element ref="b"/>
		</xs:sequence>
	</xs:complexContent>
</xs:complexType>

verstehe das Beispiel nicht ganz.

Du hast das element b das du durch a ersetzen kannst, welchen Bezug zum Beispiel hat
Code:
<xs:element name="d" substitutionGroup="e"/>
Oder welchen Sinn hat es dem Element b einer substitutionGroup zu-zuweisen?

Grundsätzlich, und da denke ich gehts genau um deine Frage:

Zitat
Die Existenz einer Ersetzungsgruppe erfordert weder, dass irgendwelche Elemente aus dieser Klasse benutzt werden, noch schließt sie die Verwendung des Ursprungs-Elements aus. Ersetzungsgruppen schaffen lediglich die Möglichkeit, zu erlauben, dass Elemente untereinander austauschbar benutzt werden.

hth und falls ich total falsch lieg, wenigstens hab ichs probiert :)

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von vossi
verstehe das Beispiel nicht ganz.

Du hast das element b das du durch a ersetzen kannst, welchen Bezug zum Beispiel hat [code.../code]
Oder welchen Sinn hat es dem Element b einer substitutionGroup zu-zuweisen?

Grundsätzlich, und da denke ich gehts genau um deine Frage:

hth und falls ich total falsch lieg, wenigstens hab ichs probiert :)
Ach, ich hab mich vertippt... sollte so sein: /Ich besser' das oben aus)
Code:
<xs:element name="a" substitutionGroup="b"/>
<xs:element name="b" substitutionGroup="c"/>
<xs:element name="c" substitutionGroup="d"/>

<xs:complexType name="m">
	<xs:complexContent>
		<xs:sequence>
			<xs:element ref="b"/>
		</xs:sequence>
	</xs:complexContent>
</xs:complexType>
Wobei das "d" jetzt andeuten kann dass es noch weiter gehen kann...

Der Quote bringt mir garnix - is glaub ich sogar nur die Reference übersetzt.

Ich probier's nochmal:
Ich habe die SG "A" und "B" wobei es in "A" ein Element "B" drin gibt. Wird jetzt im Schema "A" verlangt, kann ich dann auch ein Element aus "B" einsetzen? ("A" kann durch "B" ersetzt werden, wofür ja wieder die Elemente aus "B" eingefügt werden könnten [theoretisch])
Bearbeitet von watchout am 12.10.2005, 12:11

vossi

been there, done that
Avatar
Registered: Feb 2003
Location: Vienna
Posts: 1436
hm denke da ist grundlegend was falsch.

bei substitutionGroup="" gibst du nur an welches Element du zu ersetzen/ergänzen wünscht.

dh.
@
Code:
<xs:element ref="b"/>
dort kann stehen: b und a über die SG (SG=b)

@
Code:
<xs:element name="a" substitutionGroup="b"/>
<xs:element name="b" substitutionGroup="c"/>
<xs:element name="c" substitutionGroup="d"/>
Sollte es ein element d irgendwo geben dann kann es durch c,b und a ersetzt werden (bzw. sollte)

@
Code:
<xs:element name="b" substitutionGroup="c"/>
Es geht aber glaube ich nicht wenn du beim element b ne SG angibst das dann auch b durch c ersetzt werden kann.

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Glaubst du oder weisst du? Glauben nutzt mir wenig :(
Ich schätze ich werd mal auf der Uni fragen.

vossi

been there, done that
Avatar
Registered: Feb 2003
Location: Vienna
Posts: 1436
laut w3c http://www.edition-w3c.de/TR/2001/R...-20010502/#K4.6 weiss ich das :)
Bitte frag auf jeden Fall da es mich dann auch interessiert ob das jetzt richtig interpretiert war.

vossi

been there, done that
Avatar
Registered: Feb 2003
Location: Vienna
Posts: 1436
*bump* gibts schon antworten? :D
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz