ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
702
702
EMPFEHLEN
-
Hallo,
mir fiel kein besserer Titel dafür ein. Mein Problem:
Ich möchte folgende Struktur mittels XML-Schema beschreiben:
wobei: Werte für attr1 sind vorgegeben (enumeration) und können sein: inhalt1, inhalt2, inhalt3Code :1 2 3 4 5 6 7 8 9
<el1 lang="de"> <el2 attr1="inhalt1"> <el2 attr1="inhalt2"> </el1> <el1 lang="en"> <el2 attr1="inhalt2"> <el2 attr1="inhalt3"> </el1>
ABER: wenn der Vaterknoten (oder evtl. das Root-Element) das (required) Attribut lang="de" hat, dann sind nur inhalt1 und inhalt2 zugelassen, bei "en" ist es inhalt2 und inhalt3, inhalt4 usw.
Also: zulässige Attributwerte in Abhängigkeit von Werten des XML-Dokumentes definieren. Die Werte für lang sind ebenfalls vorgegeben (im Schema bekannt).
Hat jemand eine Idee?
Dank und Gruß
ElKassi
-
14.01.05 10:24 #2
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.724
- Blog-Einträge
- 29
Hallo!
Ich denke diese Form der Validierung ist mit "normalen" XML Mitteln nicht möglich. Aber sollte diese Überprüfung (beim Schreiben/Lesen) nicht von deiner Anwendung übernommen werden?
Gruß TomJava rocks!
How to become a good Java Programmer?
Does IT in Java and .Net
The only valid measurement of code quality: WTFs / minute
Blog
Xing
Twitter
-
Ne, nicht unbedingt.
Geht im Prinzip auch darum, einen guten XML-Editor zur Eingabe zu verwenden, welcher dann die gültigen Attributwerte zur Auswahl liefert.
Schade, wenn XML das nicht vorsieht.
Bei xs:selector wertet er ja auch einen xpath-Ausdruck aus, der sich auf den Kontextknoten bezieht. Mein Anwendung muss daher auch nicht auf Eindeutigkeit prüfen (bei Keys z.B.). Daher dachte ich, dass sowas hier auch möglich wäre.
Dank und Gruß
ElKassi
-
14.01.05 12:51 #4
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.724
- Blog-Einträge
- 29
Hallo,
ich bin mir jetzt gar nicht mehr so sicher ob das ganze wiklich nicht geht....
mein Testdokument:
data.xml:
Code :1 2 3 4 5 6 7 8 9 10 11
<?xml version="1.0"?> <root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="data.xsd"> <elem lang="de"> <subelem attr1="inhalt1"/> <subelem attr1="inhalt2"/> </elem> <elem lang="en"> <subelem attr1="inhalt2"/> <subelem attr1="inhalt3"/> </elem> </root>
data.xsd:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
<?xml version="1.0" ?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="subelem"> <xs:complexType> <xs:attribute name="attr1" type="xs:string" use="required"/> </xs:complexType> </xs:element> <xs:element name="elem"> <xs:complexType> <xs:sequence> <xs:element ref="subelem" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="lang"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="de"/> <xs:enumeration value="en"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="root"> <xs:complexType> <xs:sequence> <xs:element ref="elem" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
Du könntest es mal damit versuchen aus dem einen Element "subelem" zwei zu machen mit jeweils anderer Attribute-Basis. Die Einschränkung von einem Element abhänig vom umgebenden Kontext (Attributwert des Parent-Elements) stelle ich mir machbar vor, auch wenn ich derweil leider nicht weis wie.
HTH,
Gruß TomGeändert von Thomas Darimont (14.01.05 um 12:53 Uhr)
Java rocks!
How to become a good Java Programmer?
Does IT in Java and .Net
The only valid measurement of code quality: WTFs / minute
Blog
Xing
Twitter
Ähnliche Themen
-
SimpleXML: Suche nach Attribute und ändere Attribute
Von Charriu im Forum PHPAntworten: 3Letzter Beitrag: 03.08.10, 17:08 -
Attribute von einem XML-Schema lesen
Von RE-DIK im Forum XML TechnologienAntworten: 5Letzter Beitrag: 09.02.10, 15:10 -
XML-Schema
Von chriss_2oo4 im Forum XML TechnologienAntworten: 13Letzter Beitrag: 13.07.08, 17:52 -
XML - Schema
Von downset04 im Forum XML TechnologienAntworten: 0Letzter Beitrag: 04.12.05, 14:09 -
Oracle - Tabelle von einem Schema in ein anderes Schema verschieben
Von Plumpsi im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 15.09.04, 10:26





Zitieren

Login




