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


Reply via email to