Hi Dimitra, can you please create a new Jira issue at
http://jira.codehaus.org/browse/CASTOR and attach your code artifacts, and I will be having a look. Regards Werner Dimitra Giannakopoulou wrote: > Hi Werner, > > here is the example where I was expecting the automatic conflict resolution > to work - /DeclareVariable/InitialValue and /DeclareArray/InitialValue. > > Am I wrong? > > > <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 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> > > > > > > >>> --- On Tue, 6/24/08, Werner Guttmann >> <[EMAIL PROTECTED]> wrote: >>> >>>> From: Werner Guttmann >> <[EMAIL PROTECTED]> Subject: Re: >>>> [castor-user] Wrong class names in generated code >> To: >>>> [email protected] Date: Tuesday, June 24, >> 2008, 12:32 AM >>>> 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 >>> >>> >>> >>> >> --------------------------------------------------------------------- >>> 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 > > > > > --------------------------------------------------------------------- > 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

