1

XML ファイルの DTD の作成はほぼ完了しましたが、最後の部分を完了する方法がわかりません。XML ファイルは次のとおりです。

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE library SYSTEM "library.dtd">
<library>

<authors>
  <author aid="a1">Bill Evjen</author>
  <author aid="a2">Michael Kay</author>
  <author aid="a3">Kevin Goldberg</author>
  <author aid="a4">Michael Morrison</author>
</authors>

<books>

<book bookID="b001" author="a2">
  <title>XSLT 2.0 and XPath 2.0 Programmer's Reference</title>
  <stock>4</stock>
  <publisher>John Wiley</publisher>
  <year>2009</year>
  <use type="advanced" />
  <use type="reference" />
</book>
<book bookID="b002" author="a1 a2">
  <title>Professional XML (Programmer to Programmer) </title>
  <stock>2</stock>
  <publisher>John Wiley</publisher>
  <year>2007</year>
  <use type="professional" />
  <use type="advanced" />
  <use type="reference" />
</book>
<book bookID="b003" author="a3">
  <title>XML: Visual QuickStart Guide</title>
  <stock>3</stock>
  <publisher>Peachpit Press</publisher>
  <year>2008</year>
  <use type="introductory" />
  <use type="reference" />
</book>
<book bookID="b004" author="a4">
  <title>Sams Teach Yourself XML in 24 Hours</title>
  <stock>5</stock>
  <publisher>SAMS</publisher>
  <year>2005</year>
</book>

</books>

</library>

これが私のDTDです。理解できない行にコメントしました:

<!-- DTD for the scot ski example -->
<!ELEMENT library (authors | books)*>
<!ELEMENT authors (author)*>
<!ELEMENT author (#PCDATA) >
<!ATTLIST author aid CDATA #REQUIRED>

<!ELEMENT books (book)*>
<!ELEMENT book (title, stock, publisher, year, use*)>
<!ATTLIST book bookID ID #REQUIRED>
<!ATTLIST book author (authors) #REQUIRED ><!-- How to do this correctly -->


<!ELEMENT title (#PCDATA) >
<!ELEMENT stock (#PCDATA) >
<!ELEMENT publisher (#PCDATA) >
<!ELEMENT year (#PCDATA) >
<!ELEMENT use (#PCDATA) >
<!ATTLIST use type ( advanced | reference | introductory | professional) #REQUIRED  >

しばらく実験して、オンラインの例から学ぼうとしましたが、行き詰まっており、これを正しく行う方法がわかりません。

4

1 に答える 1