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


Reply via email to