[relaxng-user] Found <choice> limit of 490 in Jing

Ken Beesley Ken.Beesley at xrce.xerox.com
Fri Feb 20 18:16:15 ICT 2004


In my previous message, I reported that I was unable to achieve
Relax NG validation for elements like

<input>a b c cat</input>

where the items in the list were strings from a large enumerated
list.  It appears to be a problem of sheer quantity.

I was using Jing.

When I have

  <define name="Input">
    <element name="input">
      <list>
         <ref name="Choice"/>
         <optional>
          <ref name="Choice"/>
          <optional>
            <ref name="Choice"/>
            <optional>
              <ref name="Choice"/>
            </optional>
          </optional>
        </optional>
      </list>
    </element>
  </define>

and

  <define name="Choice">
    <choice>
      <value>a</value>
      <value>b</value>
      <value>c</value>
     ...
      <value>dog</value>
      <value>cat</value>
    </choice>
  </define>

I find that if the <choice> element contains 490 <value> elements, or fewer,
then everything works fine in Jing.  491 or more, and I get a long 
string of error
messages (sample below).

With MSV, I haven't yet found a limit.  I'm back in business with MSV.

Ken.




      at com.thaiopensource.relaxng.impl.ChoicePattern.apply(Unknown Source)
        at 
com.thaiopensource.relaxng.impl.Pattern.applyForPattern(Unknown Source)
        at 
com.thaiopensource.relaxng.impl.DataDerivType.dataDeriv(Unknown Source)
        at 
com.thaiopensource.relaxng.impl.ValueDataDerivType.dataDeriv(Unknown Source)
        at com.thaiopensource.relaxng.impl.PatternMemo.dataDeriv(Unknown 
Source)
        at 
com.thaiopensource.relaxng.impl.DataDerivFunction.memoApply(Unknown Source)
        at 
com.thaiopensource.relaxng.impl.DataDerivFunction.caseChoice(Unknown Source)
        at com.thaiopensource.relaxng.impl.ChoicePattern.apply(Unknown 
Source)
        at 
com.thaiopensource.relaxng.impl.Pattern.applyForPattern(Unknown Source)
        at 
com.thaiopensource.relaxng.impl.DataDerivType.dataDeriv(Unknown Source)




More information about the relaxng-user mailing list