Läubi .. schrieb:
> Will man "mehr" geht das über key/keyref
über die existenz von keyrefs bin ich mir im klaren, nur weiß ich nicht,
wie man das damit umsetzen soll.
Vlad Tepesch schrieb:
> Es sit kein Problem sicherzustellen, dass from und to auf korrekte
> Instanzen schauen.
> Es ist auch kein Problem festzustellen, ob es überhaupt einen Portnamen
> "pa1" gibt. Aber kann ich auch validieren, dass der unter from
> referenzierte Typ einen Port hat, wie in fromPort referenziert?
dies beides ist mit key/kexref kein Problem, aber wie soll man eine
abfrage formulieren, dass die Prüfung auf Existenz des Unterelementes im
durch from-Attribut spezifiziertem Element beschränkt wird.
der selctor müsste ja igendwie so aussehen:
1 | <xs:element name="connect">
|
2 | <xs:complexType>
|
3 | <xs:attribute name="from" type="xs:string"/>
|
4 | <xs:attribute name="fromPort" type="xs:string"/>
|
5 | <xs:attribute name="to" type="xs:string"/>
|
6 | <xs:attribute name="toPort" type="xs:string"/>
|
7 |
|
8 | <xs:keyref name="connectionFromPortRef" refer="connectionFromPort">
|
9 | <xs:selector xpath="."/>
|
10 | <xs:field xpath="@fromPort"/>
|
11 | </xs:keyref>
|
12 | <xs:key name="connectionFromPort">
|
13 | <xs:selector xpath="//types/type[@name=<<<<<<<<<<<hier liegt das Problem>>>>>>>>>>>>>]/port"/>
|
14 | <xs:field xpath="@name"/>
|
15 | </xs:key>
|
16 | </xs:complexType>
|
17 | </xs:element>
|
<<<<<<<<<<<hier liegt das Problem>>>>>>>>>>>>>
an dieser stelle müsste ermittelt werden, was für ein Typ das im Feld
from referenzierte Objekt hat.
müsste ja auf das Attribut.
im 2. Beispiel (schmema-Alternative) wäre es eine Dereferenzierung
weniger, weil man den Typ direkt ermitteln kann. Das grundsätzliche
Problem besteht aber.
geht das irgendwie im selector?