| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > XML, XSL > Проблема с XSL |
| Автор: BOB4uK 6.5.2007, 07:31 |
| Не могу понять в чем касяк... Написал простенький xml файл... Написал простенький xsl файл... Выводит толька оформление, а данные не выводит... В чем проблема? Не могу понять! XML: ------------------------------------------------------------------------------------------ <?xml version="1.0"?> <?cocoon-process type="xslt"?> <?xml-stylesheet type="text/xsl" href="lab1.xsl"?> <MyBlog> <Avtor>Smirnov Vladimir Sergeevich</Avtor> <Messages> <Message date="10.04.2007">One Message...</Message> <Message date="11.05.2008">Two Message...</Message> <Message date="12.06.2009">Three Message...</Message> </Messages> </MyBlog> ------------------------------------------------------------------------------------------ XSL: ------------------------------------------------------------------------------------------ <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transformation"> <xsl:processing-instruction name="cocoon-format"> type="text/html"</xsl:processing-instruction> <xsl:template match="MyBlog"> <html> <body> <table align="center" border="1"> <tr><td colspan="3"> <xsl:template match="Avtor"> <h1>Avtor: <xsl:value-of select="Avtor/text()"/></h1> </xsl:template> </td></tr> <xsl:template match="Messages"> <tr> <td>N</td><td>Date</td><td>Message</td> </tr> <xsl:for-each select="Message"> <tr> <td> <xsl:value-of select="position()"/> </td> <td> <xsl:value-of select="@date"/> </td> <td> <xsl:apply-templates/> </td> </tr> </xsl:for-each> </xsl:template> </table> </body> </html> </xsl:template> </xsl:stylesheet> ------------------------------------------------------------------------------------------ |
| Автор: JVM 7.5.2007, 09:58 | ||||
Поучите основы xsl. Например в вашем коде есть вложенные шаблоны xsl:template - такого в xsl нет
Начинать с Cocoon'а
|
| Автор: BOB4uK 7.5.2007, 17:21 |
| Спасибо огроменное! Пока носом не ткнули и не увидел! Теперь понял свою ошибку... А еще сам нашел... <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transformation"> Это не правильно! Надо так: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> Вот толька у меня еще один вопрос... Как сделать что бы выводился русский текст? Я устанавливаю так: <?xml version="1.0" encoding="utf-8"?> Правильно? |
| Автор: Exception 7.5.2007, 17:43 |
| BOB4uK, используйте подсветку кода! Юникод вообще желательно использовать при работе с XML. Всё правильно. |