2014-10-20 5 views
1

Я написал следующие DTD для XML-файла ниже. После проверки он говорит, что это действительно, однако, я немного обеспокоен, так как это мой самый первый 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

«Я получаю много ошибок» не является полезным описанием проблемы. Пожалуйста, отредактируйте свой вопрос, укажите ** конкретное ** объяснение проблемы, которую вы имеете, и задайте ** конкретный ** вопрос об этой проблеме. «Это не работает, я получаю ошибки. Пожалуйста, помогите!» здесь недействительный вопрос. –

+0

Привет, извините, но ошибок, которые я получаю, много, и, похоже, они цепочки. Я отредактировал наиболее распространенные причины этих ошибок. – Lunakai

+1

Начните с самого первого: «атрибуты не объявлены для некоторых элементов». У вас есть два элемента, которые имеют атрибуты в вашем XML (название статьи и начало и конец страницы), и ни один из этих атрибутов не описан в вашем DTD. Поэтому исправьте эти ошибки и посмотрите, сколько других уходит. Важно на самом деле * прочитать слова в сообщениях об ошибках ** - они обычно имеют полезную информацию. –

ответ

1

Я проверил DTD и XML. Выглядит неплохо для меня, по крайней мере синтаксически. (. Это ответ на ваш вопрос)

Несколько советов:

  • Если вы хотите сложный обзор, рассмотреть размещение его на https://codereview.stackexchange.com/ (убедитесь, что вы прочитали и соблюдать правила там).
  • Почему DTD? Достаточно устаревшие, рассмотрите использование XML-схемы.
  • Ищите другие схемы в этой области. BibTeXML - одна из вещей, о которых я слышал, но их должно быть много. Проверьте, какие большие ресурсы используют.
+0

Спасибо! Я использую DTD, так как это часть моего учебного процесса, я только начал с языков разметки. В следующий раз я буду следить за рекомендациями. Вы очень поддерживаете, спасибо! – Lunakai

 Смежные вопросы

  • Нет связанных вопросов^_^