2017-11-06 10 views
-1

XMLの整形されたコードは、以下の通りで、大学のコンピュータサイエンス学科のさまざまなコースの階層を示しています。私はXMLコードをdtdコードに変換しました。どこが間違っているの?DTDコードへのXMLコード

私のXMLコード

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

<University Name="Virtual University of Pakistan"> 
    <Departments> 
     <Department name="Computer Science"> 
      <Courses> 
      <Under-Graduate> 
       <Course name="Introduction to Computing">CS101</Course> 
       <Course name="Introduction to Programming ">CS201</Course> 
       <Course name="Data Structures">CS301</Course> 
       <Course name="Object Oriented Programming">CS304</Course> 
       <Course name="Data Communication">CS601</Course> 
      </Under-Graduate> 

      <Graduate> 
       <Course name="Theory of Computation">CS701</Course> 
       <Course name="Advanced Operating Systems">CS703</Course> 
       <Course name="Software Quality Assurance">CS706</Course> 
       <Course name="Distributed DBMS">CS712</Course> 
       <Course name="Advanced Computer Networks">CS716</Course> 
      </Graduate>  
      </Courses> 
    </Department> 
    </Departments> 

マイDTDコード

<!DOCTYPE University> 

<!ELEMENT Name "Virtual University of Pakistan"> 
    <!ELEMENT Departments> 
     <!ELEMENT Department name "Computer Science"> 
      <!ELEMENT Courses> 
       <!ELEMENT Under-Graduate> 
        <!ELEMENT name "Introduction to Computing"> 
         <!ENTITY Course "CS101"> 
        <!ELEMENT name "Introduction to Programming"> 
         <!ENTITY Course "CS201"> 
        <!ELEMENT name "Data Structures"> 
         <!ENTITY Course "CS301"> 
        <!ELEMENT name "Object Oriented Programming"> 
         <!ENTITY Course "CS304"> 
        <!ELEMENT name "Data Communication"> 
         <!ENTITY Course "CS601> 
       <!ELEMENT Graduate> 
        <!ELEMENT name "Theory of Computation"> 
         <!ENTITY Course "CS701"> 
        <!ELEMENT name "Advanced Operating Systems"> 
         <!ENTITY Course "CS703"> 
        <!ELEMENT name "Software Quality Assurance"> 
         <!ENTITY Course "CS706"> 
        <!ELEMENT name "Distributed DBMS"> 
         <!ENTITY Course "CS712"> 
        <!ELEMENT name "Advanced Computer Networks"> 
         <!ENTITY Course "CS716"> 

私は、XMLコードを作成し、DTDコードにそのXMLコードを変換しています。だから私のDTDコードで間違っている。

+1

DTDは、コンテンツではなく構造を記述します。 –

答えて

0

あなたの最初の問題は、構文的にDTDではないということです。関連する問題は、意味的にDTDではないように見えることです。 XML仕様では、提供する文字シーケンスのセマンティクスが定義されていないため、確かに分かりにくいです。

XML DTDのチュートリアルの入門書をお読みください。コースでXML DTDを学習している場合(質問は宿題のように聞こえる)、インストラクターが推薦するかもしれません。おそらく、あなたのインストラクターはすでにそれをしている、または1つを提供しているでしょう。コースに参加していない場合は、Webで多くのチュートリアルを見つけることができます。ルー・バーナードと私が製作した「XMLへの優しい導入」の一部は、DTDではなくRelax NGのコンパクト・シンタックスについて書かれているので、古いバージョンを探す必要があります。 1つはThe Cover Pagesから入手できます。 DTDは、そのバージョンのセクション1.4-1.7で説明されています。

チュートリアルを読んでいる間は、以下のトピックに注意してください。これは、現在の作業で間違っていることを示しています。

  • 特定の要素タイプに対して、適合するDTDが持つ宣言はいくつありますか?
  • 要素タイプの有効な内容を宣言するために使用されるキーワードは何ですか?
  • 有効なコンテンツを宣言するためにはどのような構文が使用されますか?
  • 要素の属性を宣言するために使用されるキーワードは何ですか?属性宣言の構文は何ですか?

幸運。