xml - XMLおよびDTD文書の作成

原文 xml tags element document dtd

私は過去の試験問題のうち2つに取り組んでいますが、なんとか完了しましたが、正解したかどうかはわかりません。誰かが私を助けてくれれば私は本当に平気です。試験問題を貼り付けました。


最初の質問では、TOP 3 BOOKSのXMLドキュメントを作成する必要があり、これが私が得たものです。正解です。ペンと紙を使用してXMLドキュメントを記述する必要があるため、より簡単な方法があります。



<Top_3_Books> 

<Book Catagory="Wine">
<Book1> 
<Title> French Wines: The Essential Guide <\Title>
<Author> Penguin Publishers <\Author>
<\Book1>

<Book2> 
<Title> An Encyclopaedia of the Wines and Domains of France <\Title>
<Author> Oxford Press <\Author>
<\Book2>

<Book3> 
<Title> Hachette Atlas of French Wines & Vineyards <\Title>
<Author> Addison-Wesley <\Author>
<\Book3>

<\Book>


<Book Catagory="Food">

<Book1> 
<Title> Seafood Recipes from Cornwall <\Title>
<Author> R.Steinway and BBC Press <\Author>
<\Book1>

<Book2> 
<Title> D. Smithson's Easy How-To-Cook <\Title>
<Author> D. Smithson and Prentice-Hall <\Author>
<\Book2>

<Book3> 
<Title> All Rhodes Lead to the Kitchen <\Title>
<Author> J. Rhodes and Addison-Wesley <\Author>
<\Book3>

<\Book>

<\Top_3_Books>




パートcについては、DTDを作成する必要があります。以下が私の試みです。それは、もっと簡単な、またはより速い方法で書くことです。ありがとう。

<!ELEMENT Top_3_Books(Wines,Food)*>
<!ELEMENT Wines (Books, Author?)>
<!ELEMENT Books (#PCDATA)>
<!ELEMENT Author (#PCDATA)>
<!ELEMENT Food (Books, Author)>
<!ELEMENT Books (#PCDATA)>
<!ELEMENT Author (#PCDATA)>


ありがとう
答え
たとえば、Wineカテゴリは少し変更する必要があるようです

a。カテゴリーは本ではありません。タイプのあるCategory要素である必要があります。
b。本はすべてBookアイテムです。個別のアイテムBook1Book2などを作成する必要はありません。
c。すべての本のPublisher属性。
d。著者のリスト、オプション。このカテゴリーにはそれらがないので、私は最後の本のためにそれを発明しました。

<Category type="Wine">
   <Books>
      <Book Publisher="Penguin Publishers"> 
         <Title> French Wines: The Essential Guide <\Title>
         <Authors><\Authors>
      <\Book>

      <Book Publisher="Oxford Press "> 
         <Title> An Encyclopaedia of the Wines and Domains of France <\Title>
         <Authors><\Authors>
      <\Book>

      <Book Publisher="Addison-Wesley"> 
         <Title> Hachette Atlas of French Wines & Vineyards <\Title>
         <Authors>
            <Author>W. Esley</Author>
         <\Authors>
      <\Book>    
   <Books>
<\Category>


DTDには、ルート要素を定義するDOCTYPEが必要です。

括弧は要素の内容を定義するので、

<!DOCTYPE Top_3_Books
[
   <!ELEMENT Top_3_Books(Category)>
   <!ELEMENT Category(Books)>
   <!ATTLIST Category
      type   CDATA          #REQUIRED
   >
   <!ELEMENT Books (Book)>
   <!ELEMENT Book (Title, Authors)>
   <!ATTLIST Book 
      Publisher CDATA       #REQUIRED
   >
   <!ELEMENT Title (#PCDATA)>
   <!ELEMENT Authors (Author)*>
   <!ELEMENT Author (#PCDATA)>
]>
関連記事

android - XMLドキュメントにローカルXSDを使用する

javascript - XMLソースから棒グラフの値を動的に設定する

xml - PowerShellを使用して単一レコードXMLを複数レコードXMLにマージする

javascript - XPATHは選択したノードのルートノードを取得します

c# - XML接頭辞が使用されている場合、XSLT変換により、ページ見出しh1::DocumentsのみがHTMLで印刷されます。

sql - FOR XML PATH ROOT RAW ELEMENTを組み合わせるにはどうすればよいですか?

xml - タイプマップapachesoapが未解決です

python - XMLをavroに変換する方法は?

c++ - pugiXMLを使用して、std::mapに基づいてノードの名前を変更します

javascript - gojsからjsonモデルをxmlに変換する