Mam mały problem. Otóż mam do napisania na zaliczenie przedmiotu listę powieści w xml-u. Oddać mam pliki z rozszerzeniami xml, xsl i dtd oraz plik z walidacją. Napisałam te pliki ale niestety walidacja nie działa (wyświetla się tylko komunikat "Błędy w pliku xml error:" i nic więcej). Nie wiem co jest nie tak. Poniżej zamieszczam zawartość tych plików. Może problem wyda się śmieszny ale dla mnie to naprawdę ważne. Bardzo proszę o pomoc. Gdzie jest coś źle?
Plik xml:
  1. <?xml version="1.0" encoding="windows-1250" ?>
  2. <!DOCTYPE lista SYSTEM "lista.dtd">
  3. <?xml-stylesheet type="text/xsl" href="lista.xsl"?>
  4. <lista>
  5.      <ksiazka nr="1">
  6.            <tytul>Matka</tytul>
  7.            <autor>Petra Hammesfahr</autor>
  8.            <kategoria>Obyczajowa</kategoria>
  9.            <nr_ISBN>8311099995</nr_ISBN>
  10.      </ksiazka>
  11.      
  12.      <ksiazka nr="2">
  13.            <tytul>Ona to ja</tytul>
  14.            <autor>Cathleen Schine</autor>
  15.            <kategoria>Obyczajowa</kategoria>
  16.            <nr_ISBN>8311101957</nr_ISBN>
  17.      </ksiazka>
  18.  
  19.      <ksiazka nr="3">
  20.            <tytul>Gwiazda</tytul>
  21.            <autor>Pamela Anderson</autor>
  22.            <kategoria>Obyczajowa</kategoria>
  23.            <nr_ISBN>8311102708</nr_ISBN>
  24.      </ksiazka>
  25.      
  26.      <ksiazka nr="4">
  27.            <tytul>Fatum. Błękitny dom</tytul>
  28.            <autor>Bohdan Drozdowski</autor>
  29.            <kategoria>Obyczajowa</kategoria>
  30.            <nr_ISBN>831110123X</nr_ISBN>
  31.      </ksiazka>
  32.      
  33.      <ksiazka nr="5">
  34.            <tytul>Bagaż</tytul>
  35.            <autor>Emily Barr</autor>
  36.            <kategoria>Obyczajowa</kategoria>
  37.            <nr_ISBN>8311100268</nr_ISBN>
  38.      </ksiazka>
  39. </lista>


Plik xsl:
  1. <?xml version="1.0" encoding="windows-1250"?>
  2. <xsl:stylesheet version="1.0"
  3. xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  4. <xsl:template match="/">
  5.  <html>
  6.  <body>
  7.    <h2><Font Color="green"><P align="center">Lista powieści</P></Font></h2>
  8.    <table border="1" align="center">
  9.    <tr bgcolor="red">
  10.      <th align="just">Nr</th>
  11.      <th align="just">Tytuł</th>
  12.      <th align="just">Autor</th>
  13.      <th align="just">Kategoria</th>
  14.      <th align="just">Nr ISBN</th>
  15.    </tr>
  16.    <xsl:for-each select="lista/ksiazka">
  17. <xsl:sort select="tytul" data-type="text" order="ascending"/>
  18.    <tr>
  19.      <td><xsl:value-of select="attribute::nr"/></td>
  20.      <td><xsl:value-of select="tytul"/></td>
  21.      <td><xsl:value-of select="autor"/></td>
  22.      <td align="right"><xsl:value-of select="kategoria"/></td>
  23.      <td align="right"><xsl:value-of select="nr_ISBN"/></td>
  24.    </tr>
  25.    </xsl:for-each>
  26.    </table>
  27.  </body>
  28.  </html>
  29. </xsl:template></xsl:stylesheet>


Plik dtd:
  1. <!ELEMENT lista (ksiazka+)>
  2. <!ELEMENT ksiazka (tytul,autor,kategoria,nr_ISBN)>
  3.  <!ELEMENT tytul      (#PCDATA)>
  4.  <!ELEMENT autor    (#PCDATA)>
  5.  <!ELEMENT kategoria (#PCDATA)>
  6.  <!ELEMENT nr_ISBN    (#PCDATA)>
  7. <!ATTLIST ksiazka nr ID  #REQUIRED>


Plik walidacja.html:
  1. <html>
  2. <head>
  3. </head>
  4. <body>
  5. <h3>
  6. Błędy w pliku xml error:
  7. </h3>
  8. <script type="text/javascript">
  9. var xmlDoc = new ActiveXObject("Microsoft.XMLDOM")
  10. xmlDoc.async="false"
  11. xmlDoc.validateOnParse="true"
  12. xmlDoc.load("lista_ksiazek1.xml")
  13.  
  14. document.write("<br />Kod błędu: ")
  15. document.write(xmlDoc.parseError.errorCode)
  16. document.write("<br />Przyczyna: ")
  17. document.write(xmlDoc.parseError.reason)
  18. document.write("<br />Numer lini w pliku: ")
  19. document.write(xmlDoc.parseError.line)
  20. </script>
  21. </body>
  22. </html>


Wybaczcie za tak może proste pytanie ale to moje początki w xml-u.