Учитывая следующие примеры входных и выходных XML-документов, напишите программу XSLT , которая будет трансформироваться между ними. Вывод - это HTML-документ.! !Проблемы с созданием XSLT
Пример ввода XML-документа :!
<library name="Library Name 1" address="Address">!
<libraryItems>!
<libraryItem type="book" id="123" isbn="123" title="Title1" summary="Summary1"!
publisher="Publisher1" published="1/2/12" barcode="Code1"
rfid="RFID1" added="1/2/12">!
<author name="Author Name1"/>!
</libraryItem>!
! ...any number of items of type book...!
<libraryItem type="cd" id="345" title="Title3" tracks="Tracks1" genre="Genre1"!
! barcode="Code3" rfid="RFID3" added="1/2/12"/>!
! ...any number of items of type cd...!
</libraryItems>!
<accounts>!
<account number="234" state="ACTIVE">!
<patron firstName="Firstname1" lastName="Lastname1" address="Address1"/>!
<borrows item="123"/>!
! ...any number of borrows...!
</account>!
! ...any number of accounts...!
</accounts>!
</library>! !
Образец для выпуска HTML-документ :!
<h1>Borrowed Items</h1>!
<table><tr>! <th>Library</th><th>Patron</th><th>Borrowing</th>! </tr>!
! <tr>! <td>Library Name 1</td><td>Firstname1 Lastname1</td><td>Title1</td></tr>!
! <tr>! <td>Library Name 1</td><td>Firstname2 Lastname2</td><td>Title2</td></tr>!
! ...one row for every borrowed item...!
</table>
Это решение, которое дало три ошибки:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h1>Borrowed Items</h1>!
<table>
<tr>!
<th>Library</th>
<th>Patron</th>
<th>Borrowing</th>!
</tr>!
<xsl:for-each select="//library/libraryitems/libraryitem | //library/accounts/account">
<tr>
<td>library name 1</td>
<td><xsl:value-of select="firstName"/><xsl:value-of select="lastName"/></td>
<td><xsl:value-of select="title"/></td> </tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Какие коррективы я должен сделать?
В чем вопрос? –
напишите программу XSLT, которая будет трансформироваться между ними. – vitasta
Это ** задача **, а не вопрос. –