2014-10-20 2 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 파일 : 나는 DTD와 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

. 적어도 구문 적으로 나에게는 꽤 괜찮아 보입니다. (.이 질문에 대한 답변입니다)

몇몇 힌트 : 당신이 정교한 검토를 원하는 경우

  • 가 (당신이 읽을 수 있도록하고이 규칙을 준수)를 https://codereview.stackexchange.com/에 게시 고려하십시오.
  • 왜 DTD입니까? 꽤 오래된 XML 스키마 사용을 고려하십시오.
  • 이 영역에서 다른 스키마를 검색합니다. BibTeXML은 내가 들어 봤던 것들 중 하나이지만, 그들 중 많은 수가 있어야한다. 큰 리소스가 사용하는 것을 확인하십시오.
+0

감사합니다! DTD는 학습 과정에 포함되어 있으므로 마크 업 언어로 시작했습니다. 나는 다음에 지침을 준수 할 것입니다. 당신은 매우지지했습니다, 고마워요! – Lunakai