Xpoint
   [напомнить пароль]

Кодировка и DOCTYPE при XSLT преобразовании

Метки: [без меток]
2008-06-26 23:58:29 [обр] Ворон(0/3)[досье]

Приятного времени суток.
Пытаюсь освоить XSLT
В качестве процессора использовал AltovaXML™ 2008.
http://www.altova.com/altovaxml.html
Пытаюсь преобразовать
http://nightfolk.net/work/l1.xml
С помощью
http://nightfolk.net/work/l1.xslt
Получаю
http://nightfolk.net/work/l1.html

Как видите - проблема с кодировкой. Не могу ни понять в чем дели, ни исправить.
Подскажете?
Второй момент - не могу с помощью xslt добавить

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

Правило

   <xsl:template match="poem"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
      <html>
         <head>
            <title>Стих</title>
            <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
         </head>
         <body>
            <xsl:apply-templates select="header"/>
            <xsl:apply-templates select="author"/>
            <xsl:apply-templates select="data"/>
            <xsl:apply-templates select="strophe"/>
         </body>
      </html>
   </xsl:template>

Выдает ошибку

AltovaXML.exe /in l1.xml /xslt2 l1.xslt /out l1.html
Character 'D' is grammatically unexpected
Failed to load l1.xslt

С уважением. Ворон.

спустя 6 часов [обр] Dennis F. Latypoff aka funky_dennis(10/78)[досье]
--- l1.xslt     2008-06-27 09:59:51.000000000 +0700
+++ l1_.xslt    2008-06-27 09:59:29.000000000 +0700
@@ -1,9 +1,20 @@
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+<?xml version="1.0" ?>
+
+<xsl:stylesheet
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+    xmlns="http://www.w3.org/1999/xhtml"
+    version="1.0">
+    <xsl:output
+        media-type="text/html" method="xml" encoding="utf-8"
+        omit-xml-declaration="yes"
+        doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
+        doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
+    />
+
        <xsl:template match="poem">
                <html>
                        <head>
                                <title>Стих</title>
-                               <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
                        </head>
                        <body>
                                <xsl:apply-templates select="header"/>
спустя 3 часа 7 минут [обр] Ворон(0/3)[досье]
Спасибо вам большое!
До xsl:output я похоже еще не дочитал...
спустя 1 час 1 минуту [обр] Ворон(0/3)[досье]
Удалил строки с минусами.
Добавил с плюсами.
Пересобрал.
С кодировкой ситуация не изменилась... В чем может быть дело?
Подскажите пожалуйста.
спустя 59 минут [обр] Lynn «Кофеман»(52/571)[досье]
Попробуйте в своём XML-файле явно прописать кодировку.
спустя 4 часа 30 минут [обр] Ворон(0/3)[досье]

Да, явно заданое

<?xml version="1.0" encoding="UTF-8" ?>

помогло.
Спасибо.
Мету пришлось вернуть - браузеры кодировку сами узнавать не захотели.

спустя 1 день 6 часов [обр] Иванов Михаил aka Ivanych(0/70)[досье]
Мету пришлось вернуть - браузеры кодировку сами узнавать не захотели.
Мету Вы все-таки уберите. А кодировку браузер узнает из заголовка Content-Type. Если не узнает - значит, на сервере неправильно настроена выдача этого заголовка.
Powered by POEM™ Engine Copyright © 2002-2005