powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Encoding
18 сообщений из 18, страница 1 из 1
Encoding
    #33598478
Jem2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем!
Помогодите разобраться с кодировкой.
Ситуация:
Есть объявление в файле XSL
вида:
Код: plaintext
1.
2.
3.
4.
<?xml version="1.0" encoding="windows-1251"?>

<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

Есть файл XML с объявлением вида:
Код: plaintext
1.
<?xml version="1.0" encoding="windows-1251"?>
Делаем трансвормацию получаем файл в котором есть объявление вида:


Код: plaintext
<?xml version="1.0" encoding="utf-8"?>
Причем русские буквы в нем нечитаются крякозябры какие то!

Если в XSL и XML поставить UTF-8 то же самое!
...
Рейтинг: 0 / 0
Encoding
    #33598518
Русские буквы читаются, если их читать в кодировке UTF-8. А чтобы получилась Windows-1251, в xsl нужно добавить:
Код: plaintext
1.
<xsl:output encoding="windows-1251" />
...
Рейтинг: 0 / 0
Encoding
    #33598538
Jem2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо! Получилось!
...
Рейтинг: 0 / 0
Encoding
    #33598556
Jem2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А еще вопрос не по кодировке уже.
Как в XSL вставить код на JAVA вида:
Код: plaintext
1.
2.
3.
4.
<script language ="Java Script">
If (a== 0 ) 
{
}
..etc.
чтобы он так как есть вставился в XML при трансформации?
...
Рейтинг: 0 / 0
Encoding
    #33598563
Код: plaintext
1.
2.
3.
4.
5.
<![CDATA[

...код JavaScript

]]>
Ну или заменять < на < и т.п.
...
Рейтинг: 0 / 0
Encoding
    #33598566
Ненавижу регистрациюНу или заменять < на < и т.п.
Ну или заменять < на < и т.п.
...
Рейтинг: 0 / 0
Encoding
    #33598567
Еще одна попытка:)
Ненавижу регистрациюНу или заменять < на < и т.п.
Ну или заменять < на &lt; и т.п.
...
Рейтинг: 0 / 0
Encoding
    #33598577
Jem2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ок но в итоговом файле получаю ссылки на сущности что не совсем гут:

Код: plaintext
1.
<Java script>
</Java script>

Вот что вставил в XSL:
Код: plaintext
1.
2.
3.
<![CDATA[
<Java script>
</Java script>
]]>
...
Рейтинг: 0 / 0
Encoding
    #33598645
Jem2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
То есть в итоговом получаю:

&lt Java script&gt
&lt /Java script&gt
...
Рейтинг: 0 / 0
Encoding
    #33598699
Jem2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
lt;Java script gt;
lt;/Java script gt;

То есть он после трансформации стоят удже не < а ссылки на сущности
...
Рейтинг: 0 / 0
Encoding
    #33598802
qu-qu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jem2А еще вопрос не по кодировке уже.
Как в XSL вставить код на JAVA вида:
Код: plaintext
1.
2.
3.
4.
<script language ="Java Script">
If (a== 0 ) 
{
}
..etc.
чтобы он так как есть вставился в XML при трансформации?

Если речь идет об клиентском скрипте для HTML-странички, то примерно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
...
<!-- исходный XML -->
<script language="javascript">
<![CDATA[
   if ( 1  <  0 )
      alert("qu-qu");
]]>
</script>
...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
...
<!-- шаблон XSLT -->
<xsl:template match="script">
  <xsl:element name="{name()}">
     <xsl:apply-templates select="@*|text()"/>
  </xsl:element>
</xsl:template>

<xsl:template match="script/@*">
  <xsl:attribute name="{name()}">
     <xsl:value-of select="."/>
  </xsl:attribute>
</xsl:template>

<xsl:template match="script/text()">
  <xsl:value-of select="."/>
</xsl:template>
...
Поясни на словах - что за скрипт нужно получить и в каком месте?
...
Рейтинг: 0 / 0
Encoding
    #33599011
Jem2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автор
Если речь идет об клиентском скрипте для HTML-странички, то примерно так:
...
<!-- исходный XML -->
<script language="javascript">
<![CDATA[
if (1 < 0)
alert("qu-qu");
]]>
</script>
...


а если я хочу вставить данные кусок не XML а в XSL?
То есть поскольку
у меня
Код: plaintext
1.
2.
3.
<![CDATA[
   if ( 1  <  0 )
      alert("qu-qu");
]]>

идет вначале всех итоговых документов я хотел бы вставить это в XSL
...
Рейтинг: 0 / 0
Encoding
    #33599725
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фрагмент XSLT шаблона:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:xdt="http://www.w3.org/2005/xpath-datatypes">
    <xsl:output version="1.0" encoding="UTF-8" indent="no" omit-xml-declaration="no" media-type="text/html" />
    <xsl:template match="/">
        <html>
            <head>
                <title />
                <script language="javascript">
					<![CDATA[					
					var i =  3 ;
					if(i <  10 )
					{
						alert('Hello from JavaScript!');                
					}
					]]>
                </script>
            </head>
            <body>

Кроме того, отчего не сделать ссылку на js файл?
...
Рейтинг: 0 / 0
Encoding
    #33600517
Jem2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Jimmers
а уменя

скобки < > в CDATA после преобразования заменяются на сущности
...
Рейтинг: 0 / 0
Encoding
    #33600903
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jem22 Jimmers
а уменя

скобки < > в CDATA после преобразования заменяются на сущности

Странно. А шапки ты прописал точно такие же:

Код: plaintext
1.
2.
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:xdt="http://www.w3.org/2005/xpath-datatypes">
	<xsl:output version="1.0" encoding="UTF-8" indent="no" omit-xml-declaration="no" media-type="text/html"/>

И что за парсер у тебя используется.
...
Рейтинг: 0 / 0
Encoding
    #33600912
qu-qu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jem2...скобки < > в CDATA после преобразования заменяются на сущности

А что за прарсер-то используется?
Что-то знакомое навело меня на "смутные сомнения"... (когда пишешь в теле XSLT-шаблона клиентский скрипт, то обычно ставишь его в блок CDATA, чтобы не заморачиваться с "сущностями" вместо написания обыкновенного синтаксиса скриптового языка).
А тут XSLT-шаблон сам заменяет "опасные символы" в CDATA на сущности, это наводит на мысль, что этот XSLT-шаблон генерит XML вместо HTML-я, т.е. либо явно указан <xsl:output method=" xml "/>, либо парсер ставит его по-умолчанию если <xsl:output ... /> отсутствует в XSLT-шаблоне.
У мелко-мягкого парсера (msxml.dll) с етим делом все в порядке - он в полном соответствии с рекомендациями W3C ставит "метод по-умолчанию" = "html", поэтому большинство народу в этом топике и не врубаются в твою проблему с клиентским скриптом - никто ее не видит...
...
Рейтинг: 0 / 0
Encoding
    #33601210
Jem2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да видимо в этом дело.
Генерится корректный xml а внем все скобки меняются на сущности.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
namespace XmlTest
{
    class Program
    {
        static void Main(string[] args)
        {
            System.Xml.Xsl.XslTransform myXslTransform;
            myXslTransform = new System.Xml.Xsl.XslTransform();
            try
            {
                myXslTransform.Load("xslt_1.xslt");
                myXslTransform.Transform("1.xml", "1.fff");
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message.ToString());
            }
        }
    }

}

Это С# на выходе имеем 1.fff xml документ.
...
Рейтинг: 0 / 0
Encoding
    #33601223
Jem2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем!
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Encoding
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]