2010-03-02 6 views
10

Estoy tratando de hacer una lista desordenada de variables en var1 se produce dos veces y var2 se repite infinitamente (el caso de uso en mi proyecto es diferente). El elemento no me permite usar maxOccurs.XSD no me permite tener desbordamiento dentro de todos los indicadores

¿Hay algún trabajo para lo que estoy tratando de hacer?

<?xml version="1.0" encoding="ISO-8859-1"?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <xs:element name="testcomment"> 
    <xs:complexType> 
     <xs:all> 
     <xs:element name="var1" type="xs:string" maxOccurs="2" /> 
     <xs:element name="var2" type="xs:integer" maxOccurs="unbounded" /> 
     </xs:all> 
    </xs:complexType> 
    </xs:element> 
</xs:schema> 
+2

http://stackoverflow.com/a/3827606/637142 –

Respuesta

1

Lo que estamos tratando de hacer suena como el tipo de un elemento en la lista podría ser ambiguo sin la lectura de la ventaja, en cuyo caso no hay trabajo en torno a XSD a causa de las clases de idiomas se puede describir .

¿Se puede publicar una parte relevante de su XSD?


Actualización: No, no se puede hacer eso con XSD. Las reglas sobre lo que puede colocar en un elemento <xs:all> se enumeran, por ejemplo, here. Esta restricción tiene un nombre: el UPA o la restricción de atribución de partículas únicas. Todo tiene que ver con la ambigüedad y el sitio web de Microsoft tiene una buena explicación de por qué existe here.

Puede cambiar el diseño de su documento para eliminar la necesidad de este tipo de declaración, o buscar en un lenguaje de esquema más expresivo como RelaxNG.

+0

Cómo publicar el código en stackoverflow .. Soy bastante nuevo en esto – Vignesh

+0

Lo hizo, hace unos minutos. Póngalo de nuevo, resáltelo y haga clic en el pequeño botón del editor que se ve como binario (10101) y sangrará su XML, lo que hará que se muestre correctamente. – Brabster

+0

Sí ... Gracias. He publicado el código ... :) – Vignesh

3

fácil, basta con utilizar <xs:choice maxOccurs="unbounded"> en lugar de <xs:all>. Esto dará el efecto que estás buscando.

Cuestiones relacionadas