2014-10-20 93 views
1

我已經爲下面的XML文件編寫了以下DTD。然而,在檢查它說它是有效的之後,我有點擔心,因爲這是我的第一個DTD,我不確定它是否真的有效。 有人能告訴我它是否正確? 謝謝!需要XML-DTD幫助/說明

DTD文件:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE articles [ 
<!ELEMENT articles (article+)> 
<!ELEMENT article (authors+,journal+)> 
<!ELEMENT authors (author+)> 
<!ELEMENT author (#PCDATA)> 
<!ELEMENT journal (name+, volume?,issue?,published+,url?,pages?)> 
<!ELEMENT name (#PCDATA)> 
<!ELEMENT issue (#PCDATA)> 
<!ELEMENT published (#PCDATA)> 
<!ELEMENT volume (#PCDATA)> 
<!ELEMENT pages (#PCDATA)> 
<!ELEMENT url (#PCDATA)> 

<!ATTLIST article title CDATA #REQUIRED id ID #REQUIRED> 
<!ATTLIST pages start CDATA #REQUIRED end CDATA #REQUIRED> 
<!ATTLIST url href CDATA #REQUIRED> 

]> 

XML文件:

<articles> 
<article title="Computing" id="a1"> 
    <authors> 
     <author>Fhilbertie</author> 
     <author>Alicen</author> 
     <author>PeDra</author> 
    </authors> 
    <journal> 
     <name>Journals</name> 
     <volume>5</volume> 
     <issue>6</issue> 
     <published>06/11/2013</published> 
     <pages start="52" end="79"/> 
    </journal> 
</article> 

<article title="Instruction Sets: Free Will?" id="a2"> 
    <authors> 
     <author>Sallie</author> 
     <author>Philber</author> 
    </authors> 
    <journal> 
     <name>Metaphysics</name> 
     <volume>5</volume> 
     <issue>6</issue> 
     <published>06/26/2015</published> 
     <pages start="366" end="366"/> 
    </journal> 
</article> 

<article title="My Journy" id="a3"> 
    <authors> 
     <author>Lawrence</author> 
    </authors> 
    <journal> 
     <name>M Magic</name> 
     <volume>6</volume> 
     <issue>4</issue> 
     <published>11/12/1988</published> 
    </journal> 
</article> 

<article title="RDF Triples and the Path to Human Subjugation" id="a4"> 
    <authors> 
     <author>Allison Peony</author> 
     <author>Robert Zephyr</author> 
     <author>Sally Piper</author> 
    </authors> 
    <journal> 
     <name>Journal of Nefarious Artificial Intelligence</name> 
     <published>05/25/2006</published> 
     <url href="http://example.com/rdf-triples-subjugation"/> 
    </journal> 
</article> 

<article title="Marksideways, a Markdown Alternative" id="a5"> 
    <authors> 
     <author>Gerald Quinoa</author> 
     <author>P. von Cookie</author> 
    </authors> 
    <journal> 
     <name>Marvelous Markup Magic</name> 
     <volume>13</volume> 
     <issue>3</issue> 
     <published>03/14/2013</published> 
     <url href="http://example.com/marksidways"/> 
    </journal> 
</article> 

<article title="Hills" id="a6"> 
    <authors> 
     <author>Robert Z</author> 
     <author>Leonard P</author> 
    </authors> 
    <journal> 
     <name>Journal Intelligence</name> 
     <published>05/25/2014</published> 
     <url href="http://example.com/hill"/> 
    </journal> 
</article> 

+0

「我得到很多錯誤」不是一個有用的問題描述。請[編輯]你的問題,提供一個關於你遇到的問題的**特定的**解釋,並且詢問關於那個問題的**特定**問題。 「這行不通,我得到錯誤,請幫助!」在這裏不是一個有效的問題。 – 2014-10-20 02:31:31

+0

嗨,我很抱歉,但我得到的錯誤很多,而且似乎被鎖定了。我編輯了這些錯誤的最常見原因。 – Lunakai 2014-10-20 16:09:30

+1

從第一個開始:「某些元素沒有聲明屬性」。您有兩個元素在您的XML中具有屬性(文章標題和頁面開始和結尾),並且您的DTD中沒有描述這些屬性。所以修正這些錯誤,並看看有多少人離開了。實際上*閱讀錯誤消息中的單詞非常重要** - 它們通常具有有用的信息。 – 2014-10-20 16:22:32

回答

1

我檢查的DTD和XML。對我來說看起來相當不錯,至少在語法上。 (這是回答你的問題)

一些提示:

  • 如果你想要一個精心設計的審查,認爲張貼在https://codereview.stackexchange.com/(請務必仔細閱讀並遵守這些規則存在)。
  • 爲什麼選擇DTD?相當過時,考慮使用XML模式。
  • 搜索此區域中的其他圖表。 BibTeXML是我聽說過的事情之一,但是它們必須有很多。檢查使用什麼大資源。
+0

謝謝! 我使用DTD,因爲它是我學習過程的一部分,我剛開始使用標記語言。我會確保我下次遵循指導方針。你一直很支持,謝謝! – Lunakai 2014-10-20 23:23:34