Dynamic Array

Hi,
I want to describe arrays whose sizes are different.
The only way I found to express Array with XML Schema
is by mean of XPath expression in 'minOccurs' attribut value.
    <xsd:element name='myArray'>
      <xsd:complexType>
        <xsd:element name='Size' type='xsd:short'/> 
        <xsd:element name='myArrayElt' type='xsd:string' minOccurs='Size/text()'/>
      </xsd:complexType>
    </xsd:element>
Before the last change (22/09), I have read that 'maxOccurs'='minOccurs' if 'maxOccurs' omitted.
But now I have to write :
    <xsd:element name='myArray'>
      <xsd:complexType>
        <xsd:element name='Size' type='xsd:short'/> 
        <xsd:element name='myArrayElt' type='xsd:string' minOccurs='Size/text()'
            maxOccurs='Size/text()'/>
      </xsd:complexType>
    </xsd:element>

The first problem is XPath expressions are forbidden in 'minOccurs' and 'maxOccurs' attributes value.

Can Someone tell me if I am in a wrong way or if there is a better solution?

I also use XPath expression to say if an element should appeared depend on another element value.
    <xsd:element name='Description' type='xsd:string'
        minOccurs='Flags/description[text()=1]'
        maxOccurs='Flags/description[text()=1]'/>

The second problem is XPath expressions can have results of different type (Boolean, Double, NodeSet...). So I have to check and then cast explictly expression.

Did Someone encounter this kind of problem?
Bye.


Internet et mail gratuit AltaVista http://www.altavista.fr

Received on Thursday, 28 September 2000 04:35:51 UTC