2016-11-23 2 views
0

私はXMLを今すぐ学んでおり、最初のDTD拡張には苦労しています。XMLとDTD:要素タイプの内容は一致する必要があります

マイDTD:私は、パーサーを起動した場合

<!ELEMENT biblio (livre*) > 

<!ELEMENT livre (achat , auteurs, titre) > 
<!ATTLIST livre langue CDATA #IMPLIED 
     ref CDATA #IMPLIED> 



<!ELEMENT achat EMPTY > 
<!ATTLIST achat date CDATA #IMPLIED 
     lieu CDATA #IMPLIED> 


<!ELEMENT titre (#PCDATA)> 
<!ATTLIST titre genre CDATA #IMPLIED 
     type NMTOKEN #IMPLIED> 



<!ELEMENT auteurs (auteur+) > 


<!ELEMENT auteur (nom?, prenom? ,sexe?) > 
<!ELEMENT nom (#PCDATA)> 
<!ELEMENT prenom (#PCDATA)> 
<!ELEMENT sexe (#PCDATA)> 

、それはそう:

要素型 "リーヴル" の内容が一致している必要があります(アハト、auteus、力価)

マイXML:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE biblio SYSTEM "Dtdbiblio.dtd"> 



<biblio> 
    <livre langue="francais" ref="1684561564"> 
     <achat date="11/11/1993" lieu="london"/> 
     <titre genre="G" type="politique">  Tiiiiiiiiiiiiiiiiiiiiiiiiitre </titre> 
     <auteurs> 
      <auteur> 
       <nom>x</nom> 
       <prenom>x</prenom> 
       <sexe>H</sexe> 
      </auteur> 
     </auteurs> 
    </livre> 

</biblio> 

どのようにこの問題を解決しますか?

+0

は私にしてくださいADDD :( – MohaMed

答えて

2

(achat , auteurs, titre)のコンマ(,)は、要素が表示される順序を指定します。 (See here for more detail.

ので(achat , auteurs, titre)は正確に一つのauteurs exaclty 1 titreが続く続く正確に一つachatを意味します。

<biblio> 
    <livre langue="francais" ref="1684561564"> 
     <achat date="11/11/1993" lieu="london"/> 
     <auteurs> 
      <auteur> 
       <nom>x</nom> 
       <prenom>x</prenom> 
       <sexe>H</sexe> 
      </auteur> 
     </auteurs> 
     <titre genre="G" type="politique">  Tiiiiiiiiiiiiiiiiiiiiiiiiitre </titre> 
    </livre> 

</biblio> 

またはDTDで:あなただけのいずれかのXMLインスタンスに... titreauteursの順序を変更する必要が

<!ELEMENT livre (achat, titre, auteurs) > 
関連する問題