簡體   English   中英

XML 到 DTD 錯誤:文檔類型聲明必須格式正確

[英]XML to DTD error: the document type declaration must be well-formed

我是 XML 的初學者,我必須將以下 XML 轉換為 DTD

<student id="12C042">

    <fName>John</fName>

    <lName>Nelson</lName>

    <plan>

        <courses year="3">

            <course>

                <name> Extensible Markup Language</name>

                <shortName>XML</shortName>

                <record>

                    <grade>30</grade>

                    <date>12-Jan-2017</date>

                </record>

            </course>

            <course>

                <name>Object Oriented Concepts and Unified Modeling Language</name>

                <shortName><![CDATA[OOP & UML]]></shortName>

            </course>

        </courses>

    </plan>

這是我轉換后得到的DTD:

 <?xml encoding="UTF-8"?>

<!ELEMENT student (fName,lName,plan)>
<!ATTLIST student
  xmlns CDATA #FIXED ''
  id NMTOKEN #REQUIRED>

<!ELEMENT fName (#PCDATA)>
<!ATTLIST fName
  xmlns CDATA #FIXED ''>

<!ELEMENT lName (#PCDATA)>
<!ATTLIST lName
  xmlns CDATA #FIXED ''>

<!ELEMENT plan (courses)>
<!ATTLIST plan
  xmlns CDATA #FIXED ''>

<!ELEMENT courses (course)+>
<!ATTLIST courses
  xmlns CDATA #FIXED ''
  year CDATA #REQUIRED>

<!ELEMENT course (name,shortName,record?)>
<!ATTLIST course
  xmlns CDATA #FIXED ''>

<!ELEMENT name (#PCDATA)>
<!ATTLIST name
  xmlns CDATA #FIXED ''>

<!ELEMENT shortName (#PCDATA)>
<!ATTLIST shortName
  xmlns CDATA #FIXED ''>

<!ELEMENT record (grade,date)>
<!ATTLIST record
  xmlns CDATA #FIXED ''>

<!ELEMENT grade (#PCDATA)>
<!ATTLIST grade
  xmlns CDATA #FIXED ''>

<!ELEMENT date (#PCDATA)>
<!ATTLIST date
  xmlns CDATA #FIXED ''>

編譯器給出以下錯誤:

致命錯誤:
公眾號:null
系統 ID:file:/home/p12947/studentdtd.dtd
行號:9
列數:2
消息:文檔類型聲明包含或指向的標記聲明必須格式正確。
致命的

嘗試用“學生”元素包圍你的元素

根據您的 dtd 的有效文檔可能如下所示

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE student SYSTEM "student.dtd">
<student id="1">
<fName>John</fName>
<lName>Nelson</lName>
<plan>
    <courses year="3">
        <course>
            <name> Extensible Markup Language</name>
            <shortName>XML</shortName>
            <record>
                <grade>30</grade>
                <date>12-Jan-2017</date>
            </record>
        </course>
        <course>
            <name>Object Oriented Concepts and Unified Modeling Language</name>
            <shortName><![CDATA[OOP & UML]]></shortName>
        </course>
    </courses>
</plan>
</student>
 <?xml version="1.0" encoding="UTF-8"?>
        <persons>
                  <person>
                        <name>XYZ</name>
                         <age>19</age>
                         <gender>M</gender>
                         <address>
                             <doorno>4</doorno>
                             <street>ABC</street>
                            <city>DEL</city>
                            <state>IND</state>
                       </address>
                        <student>
                            <rollno>34</rollno>
                            <standard>12</standard>
                            <section>C</section>
                         </student>
                 </person>
      </persons>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM