Foros del Web » Programación para mayores de 30 ;) » Programación General »

XML Schema nodos no vacíos

Estas en el tema de XML Schema nodos no vacíos en el foro de Programación General en Foros del Web. Hola ¿Cómo se hace en xsd para validar que un nodo no esté vacío? por ejemplo el siguiente xml no es válido ya que el ...
  #1 (permalink)  
Antiguo 23/09/2010, 15:20
Avatar de Mauri1  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago de Chile
Mensajes: 558
Antigüedad: 22 años
Puntos: 0
XML Schema nodos no vacíos

Hola

¿Cómo se hace en xsd para validar que un nodo no esté vacío?

por ejemplo el siguiente xml no es válido ya que el nodo <pie> no tiene valor o nodos hijos.

Código XML:
Ver original
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <documentoXML>
  3.     <cabezera>
  4.         <numero>NUMERO</numero>
  5.     </cabezera>
  6.     <detalle>
  7.         <comentarios>
  8.             <comentario>COMENTARIO_1</comentario>
  9.             <comentario>COMENTARIO_2</comentario>
  10.         </comentarios>
  11.     </detalle>
  12.     <pie/>
  13. </documentoXML>

El xsd lo tengo así:

Código XML:
Ver original
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  3.     <xs:complexType name="documentoXML">
  4.         <xs:all>
  5.             <xs:element type="cabezeraType" name="cabezera" minOccurs="0" maxOccurs="1"/>
  6.             <xs:element type="detalleType" name="detalle" minOccurs="0" maxOccurs="1"/>
  7.             <xs:element type="pieType" name="pie" minOccurs="0" maxOccurs="1"/>
  8.         </xs:all>
  9.     </xs:complexType>
  10.     ...
  11.     <xs:complexType name="pieType">
  12.         <xs:all>
  13.             <xs:element type="xs:dateTime" name="fecha" minOccurs="0" maxOccurs="1"/>
  14.             <xs:element type="xs:string" name="direccion" minOccurs="0" maxOccurs="1"/>
  15.         </xs:all>
  16.     </xs:complexType>

En el fondo intento validar que un nodo tenga al menos un nodo hijo o tenga un valor y que cada nodo (padre o hijo) solo sea declarado una vez.

Gracias.

Etiquetas: nodos, schema, xml
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:01.