2011-10-13 9 views
6

sto ottenendo un errore di convalida dal seguente XSD:XSD: contenuto delle non è consentito, in quanto il tipo di contenuto è vuota

<?xml version="1.0" ?> 
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <xsd:element name="People"> 
     <xsd:complexType> 
     <xsd:sequence> 
      <xsd:element name="Person" maxOccurs="unbounded"> 
       <xsd:complexType> 
        <xsd:attribute name="name" type="xsd:string" use="required" /> 
       </xsd:complexType> 
      </xsd:element> 
     </xsd:sequence> 
     </xsd:complexType> 
    </xsd:element> 
</xsd:schema> 

quando si utilizza il seguente codice XML per convalidare:

<?xml version="1.0" ?> 
<People> 
    <Person name='john'> 
     a nice person 
    </Person> 
    <Person name='sarah'> 
     a very nice person 
    </Person> 
    <Person name='chris'> 
     the nicest person in the world 
    </Person> 
</People> 

Restituisce il seguente errore:

lxml.etree.XMLSyntaxError: Element 'Person': Character content is not allowed, because the content type is empty. 

Cosa mi manca?

risposta

13

Sta dicendo che la "Persona" non può includere una stringa. Per il codice XML per convalidare con quel uso xsd questo:

<?xml version="1.0" ?> 
<People> 
    <Person name='john'> 
    </Person> 
    <Person name='sarah'> 
    </Person> 
    <Person name='chris'> 
    </Person> 
</People> 

Prova questo per il XSD per la convalida:

<?xml version="1.0" ?> 
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <xsd:element name="People"> 
     <xsd:complexType> 
     <xsd:sequence> 
     <xsd:element name="Person" type="Person" maxOccurs="unbounded"/> 
     </xsd:sequence> 
     </xsd:complexType> 
    </xsd:element> 

    <xsd:complexType name="Person"> 
    <xsd:simpleContent> 
     <xsd:extension base="xsd:string"> 
      <xsd:attribute name="name" type="xsd:string" use="required" /> 
     </xsd:extension> 
    </xsd:simpleContent> 
    </xsd:complexType> 
</xsd:schema> 
+0

cosa ho bisogno di aggiungere al XSD per aggiungere le stringhe in XML (sotto la Elemento persona)? – Russell

+0

Modificato il mio post. Si prega di controllare. –

Problemi correlati