Hallo zusammen,
ich bin auf der Suche nach einer Möglichkeit bei Vorhandensein eines bestimmten Elements auf das Vorhandensein eines anderen zu prüfen. Praktisches Beispiel: Ich habe eine fiktive Softwarekomponente myComponent_A die nur bei Vorhandensein eines J2EE Application Servers ausgewählt sein darf. MyComponent_B hat diese Einschränkung nicht. Leider unterstützt mein Editor noch keine Assertions, so dass ich diese manuell einfügen muss. Vielleicht kann mir jemand auf die Sprünge helfen, gerne auch wenn Ihr noch andere gravierende Fehler entdeckt.
Herzlichen Dank!!
Klayman
ich bin auf der Suche nach einer Möglichkeit bei Vorhandensein eines bestimmten Elements auf das Vorhandensein eines anderen zu prüfen. Praktisches Beispiel: Ich habe eine fiktive Softwarekomponente myComponent_A die nur bei Vorhandensein eines J2EE Application Servers ausgewählt sein darf. MyComponent_B hat diese Einschränkung nicht. Leider unterstützt mein Editor noch keine Assertions, so dass ich diese manuell einfügen muss. Vielleicht kann mir jemand auf die Sprünge helfen, gerne auch wenn Ihr noch andere gravierende Fehler entdeckt.
Herzlichen Dank!!
Klayman
HTML Code:
<?xml version="1.0" encoding="UTF-8"?> <!-- Mit XMLSpy v2012 rel. 2 sp1 (x64) (http://www.altova.com) bearbeitet --> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:element name="Application"> <xs:complexType> <xs:sequence> <xs:element name="Environment"> <xs:complexType> <xs:choice> <xs:element name="J2EE_ApplicationSrv" type="xs:boolean"/> <xs:element name="Other_ApplicationSrv" type="xs:boolean"/> </xs:choice> </xs:complexType> </xs:element> <xs:element name="Components" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element name="BusinessComponents"> <xs:complexType> <xs:choice> <xs:element name="MyComponent_A" type="MyComponent_A"/> <xs:element name="MyComponent_B" type="MyComponent_B"/> </xs:choice> </xs:complexType> </xs:element> <xs:element name="OtherComponent"> <xs:complexType> <xs:sequence> <xs:element name="OtherFeature1" type="xs:boolean"/> <xs:element name="OtherFeature2" type="xs:boolean"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Deployment_Data" maxOccurs="unbounded"> <xs:complexType> <xs:choice> <xs:element name="Installation_Scripts" type="xs:anyURI"/> <xs:element name="Initial_Data_Sources" type="xs:anyURI"/> </xs:choice> </xs:complexType> </xs:element> </xs:sequence> <xs:assert test="if(@MyComponent_A eq 'true') then (@J2EE_ApplicationSrv eq 'true')"/> </xs:complexType> </xs:element> <xs:complexType name="RX-Interface"> <xs:choice> <xs:element name="X.400" type="xs:boolean"/> <xs:element name="SMTP" type="xs:boolean"/> </xs:choice> </xs:complexType> <xs:complexType name="TX-Interface"> <xs:choice> <xs:element name="ESB" type="xs:boolean"/> <xs:element name="Web" type="xs:boolean"/> </xs:choice> </xs:complexType> <xs:complexType name="Environment"> <xs:choice> <xs:element name="J2EE_ApplicationSrv"/> <xs:element name="Corba_ApplicationSrv"/> </xs:choice> </xs:complexType> <xs:complexType name="MyComponent_A"> <xs:sequence> <xs:element name="ProcessController"/> <xs:element name="Parser"/> <xs:element name="Message"/> <xs:element name="XML_Serializer"/> <xs:element name="Messenger"/> <xs:element name="RX-Interface" type="RX-Interface"/> <xs:element name="TX-Interface" type="TX-Interface"/> </xs:sequence> </xs:complexType> <xs:complexType name="MyComponent_B"> <xs:sequence/> </xs:complexType> </xs:schema>