2014-07-14 6 views
0

편집하는 데 문제가

나는 문제가 DTD를 구현하는 데 문제. 내 DTD에서 말하는 오류가 계속 발생한다.

"루트 요소 앞에있는 문서의 마크 업은 올바른 형식이어야한다." 내 XML 문서에서

나는 오류 얻을 : ". 문서 유형 선언에 의해 포함 또는 지적 마크 업 선언이 잘 형성되어야한다"

DTD

<?xml version="1.0" encoding="UTF-8"?> 
<!-- New document created with EditiX at Sun Jul 06 07:25:48 AST 2014 --> 


<!ELEMENT periodic-elements (periodic-element*)> 
<!ELEMENT periodic-element (symbol, name, atomic-number, atomic_weight)> 
<!ELEMENT symbol (#PCDATA)> 
<!ELEMENT name (#PCDATA)> 
<!ELEMENT atomic_number (#PCDATA)> 
<!ELEMENT atomic_weight (#PCDATA)> 

XML은

<?xml version="1.0" encoding="UTF-8"?> 
<!-- New document created with EditiX at Sun Jul 06 07:25:48 AST 2014 --> 

<!DOCTYPE periodic SYSTEM "C:\Users\Randy\Desktop\CMIS 170\Week 3\Homework 3\Homework3DTD.txt"> 
<periodic> 
<element> 
    <symbol>FE</symbol> 
    <name>Iron</name> 
    <atomic_number>26</atomic_number> 
    <atomic_weight>55.845</atomic_weight> 
</element> 

<element> 
    <symbol>Ir</symbol> 
    <name>Iridium</name> 
    <atomic_number>77</atomic_number> 
    <atomic_weight>192.217</atomic_weight> 
</element> 

<element> 
    <symbol>P</symbol> 
    <name>Phosphorus</name> 
    <atomic_number>15</atomic_number> 
    <atomic_weight>30.973762</atomic_weight> 
</element> 

<element> 
    <symbol>Uut</symbol> 
    <name>Ununtrium</name> 
    <atomic_number>113</atomic_number> 
    <atomic_weight>284</atomic_weight> 
</element> 

<element> 
    <symbol>Po</symbol> 
    <name>Polonium</name> 
    <atomic_number>84</atomic_number> 
    <atomic_weight>209</atomic_weight> 
</element> 
</periodic> 

어떤 도움을 주시면 감사하겠습니다.

+0

중복 가능성 http://stackoverflow.com/questions/5455394/problem- with-external-referenced-dtd-in-xml) –

답변

1

DTD에서 DOCTYPE 선언을 제거해야합니다.

더 자세한 설명은 External referenced DTD in XML을 참조하십시오.

또한 XML의 DOCTYPE 선언에서 elementsperiodic으로 변경해야합니다. DOCTYPE 선언의 이름은 루트 요소의 이름과 일치해야합니다.

을 편집 DTD와 XML에

이름 경기를하지 않는다. 예를 들어 DTD에 periodic-elementsperiodic-element이 있지만 XML에 periodicelement이 있습니다.

또한 periodic-element에 대한 선언은 atomic-number 요소를 참조하지만 신고는 atomic_number입니다.

다음은 유효성을 검사하는 버전입니다. 당신은 이것으로 시작하여 원하는대로 수정할 수 있어야합니다.

DTD

<?xml version="1.0" encoding="UTF-8"?> 
<!-- New document created with EditiX at Sun Jul 06 07:25:48 AST 2014 --> 


<!ELEMENT periodic-elements (periodic-element*)> 
<!ELEMENT periodic-element (symbol, name, atomic_number, atomic_weight)> 
<!ELEMENT symbol (#PCDATA)> 
<!ELEMENT name (#PCDATA)> 
<!ELEMENT atomic_number (#PCDATA)> 
<!ELEMENT atomic_weight (#PCDATA)> 

XML

<?xml version="1.0" encoding="UTF-8"?> 
<!-- New document created with EditiX at Sun Jul 06 07:25:48 AST 2014 --> 

<!DOCTYPE periodic-elements SYSTEM "C:\Users\Randy\Desktop\CMIS 170\Week 3\Homework 3\Homework3DTD.txt"> 
<periodic-elements> 
    <periodic-element> 
     <symbol>FE</symbol> 
     <name>Iron</name> 
     <atomic_number>26</atomic_number> 
     <atomic_weight>55.845</atomic_weight> 
    </periodic-element> 

    <periodic-element> 
     <symbol>Ir</symbol> 
     <name>Iridium</name> 
     <atomic_number>77</atomic_number> 
     <atomic_weight>192.217</atomic_weight> 
    </periodic-element> 

    <periodic-element> 
     <symbol>P</symbol> 
     <name>Phosphorus</name> 
     <atomic_number>15</atomic_number> 
     <atomic_weight>30.973762</atomic_weight> 
    </periodic-element> 

    <periodic-element> 
     <symbol>Uut</symbol> 
     <name>Ununtrium</name> 
     <atomic_number>113</atomic_number> 
     <atomic_weight>284</atomic_weight> 
    </periodic-element> 

    <periodic-element> 
     <symbol>Po</symbol> 
     <name>Polonium</name> 
     <atomic_number>84</atomic_number> 
     <atomic_weight>209</atomic_weight> 
    </periodic-element> 
</periodic-elements> 
([XML에서 참조되는 외부 DTD에 문제]의
+0

Ok이 게시물을 변경하라는 내용으로 편집했으며 여전히 오류가 발생합니다. 편집 내에서 오류를 넣습니다. –

+0

@RandyGilman - 제 편집을보세요. –

+0

멋진 작품입니다. –