Dimitra, have a look at
http://castor.org/srcgen-binding.html which should have all information you need to define custom bindings for those artifacts of your XML schema 'being part' of a naming collision. Regards Werner Dimitra Giannakopoulou wrote: > Hi again Werner, > > as I said in my previous message, I get the following warnings: > > Warning: A class name generation conflict has occured between element '/Name' > and element '/ArrayElement/Name'. > > Warning: A class name generation conflict has occured between element > '/DeclareVariable/InitialValue' and element '/DeclareArray/InitialValue'. > > > I am attaching the schema at the end of this message - but if what confuses > Castor is bad XML, I could ask my colleagues to change the schema. Otherwise, > I could try to resolve this issue by providing a Binding file, I guess. > > Thank you so much for the help! > > <?xml version="1.0" encoding="UTF-8"?> > <!-- > Schema for PLEXIL language supported by UE. This is distinct from the > "blessed" schema found in plexil/schema/plexil.xsd, which is the latest > official PLEXIL specification. > --> > <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xml:lang="en"> > <xsd:element name="PlexilPlan"> > <xsd:complexType> > <xsd:sequence> > <xsd:element ref="Node"/> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > <xsd:simpleType name="TypeValues"> > <xsd:restriction base="xsd:NMTOKEN"> > <xsd:enumeration value="Integer"/> > <xsd:enumeration value="Real"/> > <xsd:enumeration value="Boolean"/> > <xsd:enumeration value="String"/> > <xsd:enumeration value="Array"/> > </xsd:restriction> > </xsd:simpleType> > <xsd:simpleType name="NCNameOrEmpty"> > <xsd:union memberTypes="xsd:NCName"> > <xsd:simpleType> > <xsd:restriction base="xsd:string"> > <xsd:enumeration value=""/> > </xsd:restriction> > </xsd:simpleType> > </xsd:union> > </xsd:simpleType> > <xsd:element name="Node"> > <xsd:complexType> > <xsd:all> > <xsd:element name="Comment" type="xsd:string" minOccurs="0"/> > <xsd:element ref="NodeId"/> > <xsd:element ref="StartCondition" minOccurs="0"/> > <xsd:element ref="RepeatCondition" minOccurs="0"/> > <xsd:element ref="PreCondition" minOccurs="0"/> > <xsd:element ref="PostCondition" minOccurs="0"/> > <xsd:element ref="InvariantCondition" minOccurs="0"/> > <xsd:element ref="EndCondition" minOccurs="0"/> > <xsd:element ref="SkipCondition" minOccurs="0"/> > <xsd:element name="Priority" type="xsd:nonNegativeInteger" > minOccurs="0"/> > <xsd:element name="Permissions" type="xsd:string" minOccurs="0"/> > <xsd:element ref="Interface" minOccurs="0"/> > <xsd:element ref="VariableDeclarations" minOccurs="0"/> > <xsd:element ref="NodeBody" minOccurs="0"/> > </xsd:all> > <xsd:attribute name="NodeType" use="required"> > <xsd:simpleType> > <xsd:restriction base="xsd:NMTOKEN"> > <xsd:enumeration value="NodeList"/> > <xsd:enumeration value="Command"/> > <xsd:enumeration value="Assignment"/> > <xsd:enumeration value="FunctionCall"/> > <xsd:enumeration value="Update"/> > <xsd:enumeration value="Request"/> > <xsd:enumeration value="Empty"/> > <xsd:enumeration value="LibraryNodeCall"/> > </xsd:restriction> > </xsd:simpleType> > </xsd:attribute> > </xsd:complexType> > </xsd:element> > <xsd:element name="NodeId" type="xsd:NCName"/> > <xsd:attribute name="dir"> > <xsd:simpleType> > <xsd:restriction base="xsd:NMTOKEN"> > <xsd:enumeration value="parent"/> > <xsd:enumeration value="sibling"/> > <xsd:enumeration value="child"/> > <xsd:enumeration value="self"/> > </xsd:restriction> > </xsd:simpleType> > </xsd:attribute> > <xsd:element name="NodeRef"> > <xsd:complexType> > <xsd:simpleContent> > <xsd:extension base="NCNameOrEmpty"> > <xsd:attribute ref="dir"/> > </xsd:extension> > </xsd:simpleContent> > </xsd:complexType> > </xsd:element> > <xsd:element name="NodeBody"> > <xsd:complexType> > <xsd:choice> > <xsd:element ref="NodeList"/> > <xsd:element ref="Command"/> > <xsd:element ref="Assignment"/> > <xsd:element ref="FunctionCall"/> > <xsd:element ref="Update"/> > <xsd:element ref="Request"/> > <xsd:element ref="LibraryNodeCall"/> > </xsd:choice> > </xsd:complexType> > </xsd:element> > <xsd:element name="NodeList"> > <xsd:complexType> > <xsd:sequence> > <xsd:element ref="Node" minOccurs="0" maxOccurs="unbounded"/> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > <xsd:element name="StartCondition"> > <xsd:complexType> > <xsd:group ref="BooleanExpression"/> > </xsd:complexType> > </xsd:element> > <xsd:element name="RepeatCondition"> > <xsd:complexType> > <xsd:group ref="BooleanExpression"/> > </xsd:complexType> > </xsd:element> > <xsd:element name="PreCondition"> > <xsd:complexType> > <xsd:group ref="BooleanExpression"/> > </xsd:complexType> > </xsd:element> > <xsd:element name="PostCondition"> > <xsd:complexType> > <xsd:group ref="BooleanExpression"/> > </xsd:complexType> > </xsd:element> > <xsd:element name="InvariantCondition"> > <xsd:complexType> > <xsd:group ref="BooleanExpression"/> > </xsd:complexType> > </xsd:element> > <xsd:element name="EndCondition"> > <xsd:complexType> > <xsd:group ref="BooleanExpression"/> > </xsd:complexType> > </xsd:element> > <xsd:element name="SkipCondition"> > <xsd:complexType> > <xsd:group ref="BooleanExpression"/> > </xsd:complexType> > </xsd:element> > <xsd:element name="Interface"> > <xsd:complexType> > <xsd:all> > <xsd:element ref="In" minOccurs="0"/> > <xsd:element ref="InOut" minOccurs="0"/> > </xsd:all> > </xsd:complexType> > </xsd:element> > <xsd:element name="In"> > <xsd:complexType> > <xsd:group ref="DeclaredVariable" maxOccurs="unbounded"/> > </xsd:complexType> > </xsd:element> > <xsd:element name="InOut"> > <xsd:complexType> > <xsd:group ref="DeclaredVariable" maxOccurs="unbounded"/> > </xsd:complexType> > </xsd:element> > <xsd:group name="DeclaredVariable"> > <xsd:choice> > <xsd:element ref="IntegerVariable"/> > <xsd:element ref="RealVariable"/> > <xsd:element ref="BooleanVariable"/> > <xsd:element ref="StringVariable"/> > <xsd:element name="ArrayVariable" type="xsd:NCName"/> > <xsd:element ref="ArrayElement"/> > </xsd:choice> > </xsd:group> > <xsd:group name="Value"> > <xsd:choice> > <xsd:element ref="IntegerValue"/> > <xsd:element ref="RealValue"/> > <xsd:element ref="BooleanValue"/> > <xsd:element ref="StringValue"/> > </xsd:choice> > </xsd:group> > <xsd:element name="IntegerVariable" type="xsd:NCName"/> > <xsd:element name="RealVariable" type="xsd:NCName"/> > <xsd:element name="BooleanVariable" type="xsd:NCName"/> > <xsd:element name="StringVariable" type="xsd:NCName"/> > <xsd:element name="DeclareVariable"> > <xsd:complexType> > <xsd:sequence> > <xsd:element name="Name" type="xsd:NCName" /> > <xsd:element name="Type" type="TypeValues"/> > <xsd:element name="InitialValue" minOccurs="0"> > <xsd:complexType> > <xsd:group ref="Value"/> > </xsd:complexType> > </xsd:element> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > <xsd:element name="DeclareArray"> > <xsd:complexType> > <xsd:sequence> > <xsd:element name="Name" type="xsd:NCName" /> > <xsd:element name="Type" type="TypeValues"/> > <xsd:element name="MaxSize" type="xsd:nonNegativeInteger"/> > <xsd:element name="InitialValue" minOccurs="0"> > <xsd:complexType> > <xsd:choice> > <xsd:element ref="IntegerValue" maxOccurs="unbounded"/> > <xsd:element ref="RealValue" maxOccurs="unbounded"/> > <xsd:element ref="BooleanValue" maxOccurs="unbounded"/> > <xsd:element ref="StringValue" maxOccurs="unbounded"/> > </xsd:choice> > </xsd:complexType> > </xsd:element> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > <xsd:element name="VariableDeclarations"> > <xsd:complexType> > <xsd:choice maxOccurs="unbounded"> > <xsd:element ref="DeclareInteger"/> > <xsd:element ref="DeclareReal"/> > <xsd:element ref="DeclareBoolean"/> > <xsd:element ref="DeclareString"/> > <xsd:element ref="DeclareVariable"/> > <xsd:element ref="DeclareArray"/> > </xsd:choice> > </xsd:complexType> > </xsd:element> > <xsd:element name="DeclareInteger"> > <xsd:complexType> > <xsd:sequence> > <xsd:element ref="IntegerVariable"/> > <xsd:element ref="IntegerValue" minOccurs="0"/> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > <xsd:element name="DeclareReal"> > <xsd:complexType> > <xsd:sequence> > <xsd:element ref="RealVariable"/> > <xsd:element ref="RealValue" minOccurs="0"/> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > <xsd:element name="DeclareBoolean"> > <xsd:complexType> > <xsd:sequence> > <xsd:element ref="BooleanVariable"/> > <xsd:element ref="BooleanValue" minOccurs="0"/> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > <xsd:element name="DeclareString"> > <xsd:complexType> > <xsd:sequence> > <xsd:element ref="StringVariable"/> > <xsd:element ref="StringValue" minOccurs="0"/> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > <xsd:element name="Name"> > <!-- of a command or lookup --> > <xsd:complexType> > <xsd:group ref="StringExpression"/> > </xsd:complexType> > </xsd:element> > <xsd:element name="Command"> > <xsd:complexType> > <xsd:sequence> > <xsd:group ref="DeclaredVariable" minOccurs="0"/> > <xsd:choice> > <xsd:element ref="Name"/> > <xsd:element name="CommandName" type="xsd:string"/> > <!-- for backw compatibility --> > </xsd:choice> > <xsd:element ref="Arguments" minOccurs="0"/> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > <xsd:element name="Arguments"> > <xsd:complexType> > <xsd:choice maxOccurs="unbounded"> > <!-- could put expression here ?? --> > <xsd:element ref="IntegerValue"/> > <xsd:element ref="RealValue"/> > <xsd:element ref="BooleanValue"/> > <xsd:element ref="StringValue"/> > <xsd:group ref="DeclaredVariable"/> > </xsd:choice> > </xsd:complexType> > </xsd:element> > <xsd:element name="FunctionCall"> > <xsd:complexType> > <xsd:sequence> > <xsd:group ref="DeclaredVariable" minOccurs="0"/> > <xsd:choice> > <xsd:element ref="Name"/> > <xsd:element name="FunctionName" type="xsd:string"/> > <!-- for backw compatibility --> > </xsd:choice> > <xsd:element ref="Arguments" minOccurs="0"/> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > <xsd:element name="Update"> > <xsd:complexType> > <xsd:sequence> > <xsd:element ref="Pair" minOccurs="0" maxOccurs="unbounded"/> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > <xsd:element name="Pair"> > <xsd:complexType> > <xsd:sequence> > <xsd:element name="Name" type="xsd:NCName"/> > <xsd:choice> > <xsd:group ref="Value"/> > <xsd:group ref="DeclaredVariable"/> > <xsd:element ref="LookupNow"/> > </xsd:choice> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > <xsd:element name="Request"> > <xsd:complexType> > <xsd:sequence> > <xsd:element ref="NodeId" minOccurs="0"/> > <!-- the context --> > <xsd:element ref="Pair" minOccurs="0" maxOccurs="unbounded"/> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > <xsd:element name="LibraryNodeCall"> > <!-- TODO: maybe call this InlineNode --> > <xsd:complexType> > <xsd:sequence> > <xsd:element ref="NodeId"/> > <xsd:element name="RenameNodeId" type="xsd:NCName" minOccurs="0"/> > <xsd:element ref="Alias" minOccurs="0" maxOccurs="unbounded"/> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > <xsd:element name="Alias"> > <xsd:complexType> > <xsd:sequence> > <xsd:element name="NodeParameter" type="xsd:NCName"/> > <xsd:choice> > <xsd:group ref="Value"/> > <xsd:group ref="DeclaredVariable"/> > </xsd:choice> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > <xsd:element name="IntegerValue"> > <xsd:simpleType> > <xsd:union memberTypes="xsd:integer"> > <xsd:simpleType> > <xsd:restriction base="xsd:NMTOKEN"> > <xsd:enumeration value="UNKNOWN"/> > </xsd:restriction> > </xsd:simpleType> > </xsd:union> > </xsd:simpleType> > </xsd:element> > <xsd:element name="RealValue"> > <xsd:simpleType> > <xsd:union memberTypes="xsd:double"> > <xsd:simpleType> > <xsd:restriction base="xsd:NMTOKEN"> > <xsd:enumeration value="UNKNOWN"/> > </xsd:restriction> > </xsd:simpleType> > </xsd:union> > </xsd:simpleType> > </xsd:element> > <xsd:element name="BooleanValue"> > <xsd:simpleType> > <xsd:union memberTypes="xsd:boolean"> > <xsd:simpleType> > <xsd:restriction base="xsd:NMTOKEN"> > <xsd:enumeration value="UNKNOWN"/> > </xsd:restriction> > </xsd:simpleType> > </xsd:union> > </xsd:simpleType> > </xsd:element> > <xsd:element name="StringValue"> > <xsd:simpleType> > <xsd:union memberTypes="xsd:string"> > <xsd:simpleType> > <xsd:restriction base="xsd:NMTOKEN"> > <xsd:enumeration value="UNKNOWN"/> > </xsd:restriction> > </xsd:simpleType> > </xsd:union> > </xsd:simpleType> > </xsd:element> > <xsd:element name="BooleanRHS"> > <xsd:complexType> > <xsd:group ref="BooleanExpression"/> > </xsd:complexType> > </xsd:element> > <xsd:element name="NumericRHS"> > <xsd:complexType> > <xsd:group ref="NumericExpression"/> > </xsd:complexType> > </xsd:element> > <xsd:element name="StringRHS"> > <xsd:complexType> > <xsd:group ref="StringExpression"/> > </xsd:complexType> > </xsd:element> > <xsd:element name="LookupRHS"> > <xsd:complexType> > <xsd:group ref="Lookup"/> > </xsd:complexType> > </xsd:element> > <!-- right now we allow assigning to the whole array; do we want to assign to > individual elements in the array?--> > <xsd:element name="Assignment"> > <xsd:complexType> > <xsd:sequence> > <xsd:group ref="DeclaredVariable"/> > <xsd:choice> > <xsd:element ref="BooleanRHS"/> > <xsd:element ref="NumericRHS"/> > <xsd:element ref="StringRHS"/> > <xsd:element ref="LookupRHS"/> > <!-- allows lookups to return multiple values of different types--> > </xsd:choice> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > <!-- assign multiple vars at the same time: should be only for lookups ???--> > <xsd:group name="BooleanExpression"> > <xsd:choice> > <xsd:element ref="OR"/> > <xsd:element ref="XOR"/> > <xsd:element ref="AND"/> > <xsd:element ref="NOT"/> > <xsd:element ref="IsKnown"/> > <xsd:element ref="GT"/> > <xsd:element ref="GE"/> > <xsd:element ref="LT"/> > <xsd:element ref="LE"/> > <xsd:element ref="EQBoolean"/> > <xsd:element ref="EQNumeric"/> > <xsd:element ref="EQInternal"/> > <xsd:element ref="EQString"/> > <xsd:element ref="NEBoolean"/> > <xsd:element ref="NENumeric"/> > <xsd:element ref="NEInternal"/> > <xsd:element ref="NEString"/> > <xsd:element ref="BooleanVariable"/> > <xsd:element ref="BooleanValue"/> > <xsd:group ref="Lookup"/> > <xsd:element ref="ArrayElement"/> > </xsd:choice> > </xsd:group> > <xsd:element name="IsKnown"> > <xsd:complexType> > <xsd:choice> > <xsd:group ref="DeclaredVariable"/> > <xsd:group ref="Lookup"/> > <xsd:element ref="NodeStateVariable"/> > <xsd:element ref="NodeOutcomeVariable"/> > <xsd:element ref="NodeTimepointValue"/> > </xsd:choice> > </xsd:complexType> > </xsd:element> > <xsd:element name="OR"> > <xsd:complexType> > <xsd:group ref="BooleanExpression" minOccurs="0" maxOccurs="unbounded"/> > </xsd:complexType> > </xsd:element> > <xsd:element name="XOR"> > <xsd:complexType> > <xsd:group ref="BooleanExpression" minOccurs="0" maxOccurs="unbounded"/> > </xsd:complexType> > </xsd:element> > <xsd:element name="AND"> > <xsd:complexType> > <xsd:group ref="BooleanExpression" minOccurs="0" maxOccurs="unbounded"/> > </xsd:complexType> > </xsd:element> > <xsd:element name="NOT"> > <xsd:complexType> > <xsd:sequence> > <xsd:group ref="BooleanExpression"/> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > <xsd:element name="GT"> > <xsd:complexType> > <xsd:group ref="NumericExpression" minOccurs="2" maxOccurs="2"/> > </xsd:complexType> > </xsd:element> > <xsd:element name="GE"> > <xsd:complexType> > <xsd:group ref="NumericExpression" minOccurs="2" maxOccurs="2"/> > </xsd:complexType> > </xsd:element> > <xsd:element name="LT"> > <xsd:complexType> > <xsd:group ref="NumericExpression" minOccurs="2" maxOccurs="2"/> > </xsd:complexType> > </xsd:element> > <xsd:element name="LE"> > <xsd:complexType> > <xsd:group ref="NumericExpression" minOccurs="2" maxOccurs="2"/> > </xsd:complexType> > </xsd:element> > <xsd:element name="EQBoolean"> > <xsd:complexType> > <xsd:group ref="BooleanExpression" minOccurs="2" maxOccurs="2"/> > </xsd:complexType> > </xsd:element> > <xsd:element name="EQNumeric"> > <xsd:complexType> > <xsd:group ref="NumericExpression" minOccurs="2" maxOccurs="2"/> > </xsd:complexType> > </xsd:element> > <xsd:element name="EQInternal"> > <xsd:complexType> > <xsd:choice> > <xsd:group ref="NodeState" minOccurs="2" maxOccurs="2"/> > <xsd:group ref="NodeOutcome" minOccurs="2" maxOccurs="2"/> > </xsd:choice> > </xsd:complexType> > </xsd:element> > <xsd:element name="EQString"> > <xsd:complexType> > <xsd:group ref="StringExpression" minOccurs="2" maxOccurs="2"/> > </xsd:complexType> > </xsd:element> > <xsd:element name="NEBoolean"> > <xsd:complexType> > <xsd:group ref="BooleanExpression" minOccurs="2" maxOccurs="2"/> > </xsd:complexType> > </xsd:element> > <xsd:element name="NENumeric"> > <xsd:complexType> > <xsd:group ref="NumericExpression" minOccurs="2" maxOccurs="2"/> > </xsd:complexType> > </xsd:element> > <xsd:element name="NEInternal"> > <xsd:complexType> > <xsd:choice> > <xsd:group ref="NodeState" minOccurs="2" maxOccurs="2"/> > <xsd:group ref="NodeOutcome" minOccurs="2" maxOccurs="2"/> > </xsd:choice> > </xsd:complexType> > </xsd:element> > <xsd:element name="NEString"> > <xsd:complexType> > <xsd:group ref="StringExpression" minOccurs="2" maxOccurs="2"/> > </xsd:complexType> > </xsd:element> > <xsd:group name="NodeState"> > <xsd:choice> > <xsd:element ref="NodeStateVariable"/> > <xsd:element ref="NodeStateValue"/> > </xsd:choice> > </xsd:group> > <xsd:element name="NodeStateVariable"> > <xsd:complexType> > <xsd:choice> > <xsd:element ref="NodeRef"/> > <xsd:element ref="NodeId"/> > <!-- for backw compatibility --> > </xsd:choice> > </xsd:complexType> > </xsd:element> > <xsd:element name="NodeStateValue"> > <xsd:simpleType> > <xsd:restriction base="xsd:NMTOKEN"> > <xsd:enumeration value="WAITING"/> > <xsd:enumeration value="EXECUTING"/> > <xsd:enumeration value="FINISHING"/> > <xsd:enumeration value="FAILING"/> > <xsd:enumeration value="ITERATION_ENDED"/> > <xsd:enumeration value="FINISHED"/> > <xsd:enumeration value="INACTIVE"/> > </xsd:restriction> > </xsd:simpleType> > </xsd:element> > <xsd:group name="NodeOutcome"> > <xsd:choice> > <xsd:element ref="NodeOutcomeVariable"/> > <xsd:element ref="NodeOutcomeValue"/> > </xsd:choice> > </xsd:group> > <xsd:element name="NodeOutcomeVariable"> > <xsd:complexType> > <xsd:choice> > <xsd:element ref="NodeRef"/> > <xsd:element ref="NodeId"/> > <!-- for backw compatibility --> > </xsd:choice> > </xsd:complexType> > </xsd:element> > <xsd:element name="NodeOutcomeValue"> > <xsd:simpleType> > <xsd:restriction base="xsd:NMTOKEN"> > <xsd:enumeration value="SUCCESS"/> > <xsd:enumeration value="FAILURE"/> > <xsd:enumeration value="SKIPPED"/> > <xsd:enumeration value="INFINITE_LOOP"/> > <xsd:enumeration value="UNKNOWN"/> > </xsd:restriction> > </xsd:simpleType> > </xsd:element> > <xsd:element name="NodeTimepointValue"> > <xsd:complexType> > <xsd:sequence> > <xsd:choice> > <xsd:element ref="NodeRef"/> > <xsd:element ref="NodeId"/> > <!-- for backw compatibility --> > </xsd:choice> > <xsd:element ref="NodeStateValue"/> > <xsd:element ref="Timepoint"/> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > <xsd:element name="Timepoint"> > <xsd:simpleType> > <xsd:restriction base="xsd:NMTOKEN"> > <xsd:enumeration value="START"/> > <xsd:enumeration value="END"/> > </xsd:restriction> > </xsd:simpleType> > </xsd:element> > <xsd:group name="StringExpression"> > <xsd:choice> > <xsd:element ref="StringVariable"/> > <xsd:element ref="StringValue"/> > <xsd:element ref="Concat"/> > <xsd:group ref="Lookup"/> > <xsd:element ref="ArrayElement"/> > </xsd:choice> > </xsd:group> > <xsd:element name="Concat"> > <!-- should it be in core Plexil? --> > <xsd:complexType> > <xsd:group ref="StringExpression" minOccurs="2" maxOccurs="unbounded"/> > </xsd:complexType> > </xsd:element> > <xsd:group name="NumericExpression"> > <xsd:choice> > <xsd:element ref="ADD"/> > <xsd:element ref="SUB"/> > <xsd:element ref="MUL"/> > <xsd:element ref="DIV"/> > <xsd:element ref="SQRT"/> > <xsd:element ref="ABS"/> > <xsd:element ref="IntegerVariable"/> > <xsd:element ref="RealVariable"/> > <xsd:element ref="IntegerValue"/> > <xsd:element ref="RealValue"/> > <xsd:group ref="Lookup"/> > <!-- only for lookups that return ONE value --> > <xsd:element ref="NodeTimepointValue"/> > <!-- read operations for arrays--> > <xsd:element name="ArraySize" type="xsd:NCName"/> > <xsd:element name="ArrayMaxSize" type="xsd:NCName"/> > <xsd:element ref="ArrayElement"/> > </xsd:choice> > </xsd:group> > <xsd:element name="ArrayElement"> > <xsd:complexType> > <xsd:sequence> > <xsd:element name="Name" > > <xsd:complexType> > <xsd:group ref="StringExpression"/> > </xsd:complexType> > </xsd:element> > <xsd:element name="Index"> > <xsd:complexType> > <xsd:group ref="NumericExpression"/> > </xsd:complexType> > </xsd:element> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > <xsd:element name="ADD"> > <xsd:complexType> > <xsd:group ref="NumericExpression" minOccurs="2" maxOccurs="unbounded"/> > </xsd:complexType> > </xsd:element> > <xsd:element name="SUB"> > <xsd:complexType> > <xsd:group ref="NumericExpression" minOccurs="2" maxOccurs="2"/> > </xsd:complexType> > </xsd:element> > <xsd:element name="MUL"> > <xsd:complexType> > <xsd:group ref="NumericExpression" minOccurs="2" maxOccurs="unbounded"/> > </xsd:complexType> > </xsd:element> > <xsd:element name="DIV"> > <xsd:complexType> > <xsd:group ref="NumericExpression" minOccurs="2" maxOccurs="2"/> > </xsd:complexType> > </xsd:element> > <xsd:element name="SQRT"> > <xsd:complexType> > <xsd:group ref="NumericExpression"/> > </xsd:complexType> > </xsd:element> > <xsd:element name="ABS"> > <xsd:complexType> > <xsd:group ref="NumericExpression"/> > </xsd:complexType> > </xsd:element> > <xsd:group name="Lookup"> > <xsd:choice> > <xsd:element ref="LookupWithFrequency"/> > <xsd:element ref="LookupOnChange"/> > <xsd:element ref="LookupNow"/> > </xsd:choice> > </xsd:group> > <xsd:element name="LookupWithFrequency"> > <xsd:complexType> > <xsd:sequence> > <xsd:choice> > <xsd:element ref="Name"/> > <!-- for backw compatibility --> > <xsd:element name="StateName" type="xsd:string"/> > </xsd:choice> > <xsd:element ref="Frequency"/> > <xsd:element ref="Arguments" minOccurs="0"/> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > <xsd:element name="Frequency"> > <xsd:complexType> > <xsd:sequence> > <xsd:element ref="Low"/> > <xsd:element ref="High" minOccurs="0"/> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > <xsd:element name="Low"> > <xsd:complexType> > <xsd:choice> > <xsd:element ref="RealValue"/> > <xsd:element ref="RealVariable"/> > </xsd:choice> > </xsd:complexType> > </xsd:element> > <xsd:element name="High"> > <xsd:complexType> > <xsd:choice> > <xsd:element ref="RealValue"/> > <xsd:element ref="RealVariable"/> > </xsd:choice> > </xsd:complexType> > </xsd:element> > <xsd:element name="LookupOnChange"> > <xsd:complexType> > <xsd:sequence> > <xsd:choice> > <xsd:element ref="Name"/> > <xsd:element name="StateName" type="xsd:string"/> > <!-- for backw compatibility --> > </xsd:choice> > <xsd:element ref="Tolerance" minOccurs="0"/> > <xsd:element ref="Arguments" minOccurs="0"/> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > <xsd:element name="Tolerance"> > <xsd:complexType> > <xsd:choice> > <xsd:element ref="RealValue"/> > <xsd:element ref="RealVariable"/> > </xsd:choice> > </xsd:complexType> > </xsd:element> > <xsd:element name="LookupNow"> > <xsd:complexType> > <xsd:sequence> > <xsd:choice> > <xsd:element ref="Name"/> > <xsd:element name="StateName" type="xsd:string"/> > <!-- for backw compatibility --> > </xsd:choice> > <xsd:element ref="Arguments" minOccurs="0"/> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > </xsd:schema> > > > > > > --------------------------------------------------------------------- > To unsubscribe from this list, please visit: > > http://xircles.codehaus.org/manage_email > > --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email

