<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE universidad[
<!ELEMENT universidad (alumno)*>
<!ELEMENT alumno ((dni|pasaporte,pais_procedencia),nombre,apellidos,fecha_nacimiento,direccion_postal*,telefono*,cuentas_correo*)>
<!ELEMENT dni (#PCDATA)>
<!ELEMENT pasaporte (#PCDATA)>
<!ELEMENT nombre (#PCDATA)>
<!ELEMENT apellidos (#PCDATA)>
<!ELEMENT fecha_nacimiento (#PCDATA)>
<!ELEMENT direccion_postal (#PCDATA)>
<!ELEMENT telefono (#PCDATA)>
<!ELEMENT cuentas_correo (#PCDATA)>
]>
 .
. <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE universidad[
<!ELEMENT universidad (alumno)*>
<!ELEMENT alumno ((dni|pasaporte),nombre,apellidos,fecha_nacimiento,direccion_postal*,telefono*,cuentas_correo*)>
<!ELEMENT dni (#PCDATA)>
<!ELEMENT pasaporte (numero,pais)>
<!ELEMENT numero (#PCDATA)>
<!ELEMENT pais (#PCDATA)>
<!ELEMENT nombre (#PCDATA)>
<!ELEMENT apellidos (#PCDATA)>
<!ELEMENT fecha_nacimiento (#PCDATA)>
<!ELEMENT direccion_postal (#PCDATA)>
<!ELEMENT telefono (#PCDATA)>
<!ELEMENT cuentas_correo (#PCDATA)>
]>
<?xml version="1.0" encoding="UTF-8"?>
<supermercado xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
    xs:noNamespaceSchemaLocation="siete.xsd">
  
    <articulo id="1">
      <descripcion>Leche desnatada</descripcion>
      <marca>Pascual</marca>
      <medida>1 L</medida>
      <seccion>Leche y batidos</seccion>
    </articulo>
    
    <articulo id="2">
      <descripcion>Leche entera</descripcion>
      <marca>Puleva</marca>
      <medida>1,5 L</medida>
      <seccion>Leche y batidos</seccion>
      <oferta>Lote descuento</oferta>
      <oferta>Dos por uno</oferta>
      <perecedero>
   <fabricacion>Enero 2010</fabricacion>
      </perecedero>
    </articulo>
    
    <articulo id="3">
      <descripcion>Tomate</descripcion>
      <medida>1 Kg </medida>
      <seccion>Frutas y verduras</seccion>
      <perecedero>
   <caducidad>Febrero 2010</caducidad>
      </perecedero>
    </articulo>
    
</supermercado><?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="0.1" xml:lang="es">
  <xs:element name="supermercado">
    <xs:complexType>
      <xs:sequence>
         <xs:element name="articulo" maxOccurs="unbounded">
    
           <xs:complexType>
            <xs:sequence>
               <xs:element name="descripcion" type="xs:string"/>
               <xs:element name="marca" type="xs:string" minOccurs="0"/>
               <xs:element name="medida" type="xs:string"/>
               <xs:element name="seccion" type="xs:string"/>
               <xs:element name="oferta" type="xs:string" minOccurs="0"/>
          
          <xs:element name="perecedero" minOccurs="0">
            <xs:complexType>
                <xs:sequence>
                  <xs:element name="fabricacion" type="xs:string" minOccurs="0"/>
                  <xs:element name="caducidad" type="xs:string" minOccurs="0" />
                </xs:sequence>
            </xs:complexType>
          </xs:element>
             </xs:sequence>
             <xs:attribute name="id" type="xs:integer"/>
      </xs:complexType>
       </xs:element>
     </xs:sequence>
   </xs:complexType>
 </xs:element>
</xs:schema> xexio escribió:Como se puede observar en el documento 2, hay 2 ofertas. El problema esta ahi, si quito una me valida. Es decir con una sola oferta si que me valida, pero tal y como esta ahora no. No comprendo donde puede estar el problema porque se supone que si le añado el minOccurs="0" establece que puede o que no puede aparecer tambien tendria que poner el, maxOccurs?