powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Вывод символов UNICODE через XSLT
3 сообщений из 3, страница 1 из 1
Вывод символов UNICODE через XSLT
    #36868490
Онже
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемый ALL!
Прошу помощи в решении следующей проблемы.
Есть 3 файла(только примеры)
1.XML
Код: plaintext
1.
2.
3.
4.
5.
<?xml version="1.0" encoding="utf-16"?>
<tutorial>
<title>"Заметки об XSL"</title>
<author>Леонов Игорь Васильевич</author>
</tutorial>

1.XSLT
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<?xml version="1.0" encoding="utf-16"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="tutorial">
    <html>
      <body>
	<xsl:value-of select="title"/>
	<p> 222 !Δ! 333 </p> <!--Дельта - это символ амперсанд+решетка+916+точка с запятой-->
	<br/>
	<xsl:value-of select="author"/>
      </body></html>

  </xsl:template>
</xsl:stylesheet>

1.JS
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
source = new ActiveXObject("MSXML.DOMDocument");
source.async = false;
style = new ActiveXObject("MSXML.DOMDocument");
style.async = false;

source.load("1.xml");
style.load("1.xslt");

fff = source.transformNode(style);

f = new ActiveXObject("Scripting.FileSystemObject");
t = f.CreateTextFile("out.htm", true);
t.Write(fff);
То есть при запуске 1.JS должен получить файл out.htm
Однако скрипт выдает ошибку
1.js(13,1) ошибка выполнения Microsoft JScript: Недопустимый вызов или аргумент процедуры.
Если убрать символ Δ (амперсанд+решетка+916+точка с запятой) то все проходит без ошибок.
Если запускать Transform из-под Altova XML Spy(даже при установленном парсере MSXML в Options/XSL), все также проходит без ошибок.
Прошу подсказать путь решения проблемы.
Заранее спасибо.
...
Рейтинг: 0 / 0
Вывод символов UNICODE через XSLT
    #36868551
Онже
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
<!DOCTYPE xsl:stylesheet [<!ENTITY Delta "Δ">]>
Ошибка таблица стилей не содержит элемент документ.Пустая таблица или неправильно отформатированный xml документ... (((
...
Рейтинг: 0 / 0
Вывод символов UNICODE через XSLT
    #36868643
Онже
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А это работает
1.vbs
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Set SR = CreateObject("MSXML.DOMDocument")
Set ST = CreateObject("MSXML.DOMDocument")
SR.async = False
ST.async = False
SR.load "1.xml"
ST.load "1.xslt"
Set objFSO = CreateObject( "Scripting.FileSystemObject" )
Set f = objFSO.CreateTextFile("out.htm", true, true)
f.Write SR.transformNode(ST)
Так что косяк в JScript. Тему закрываем. Всем спасибо.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Вывод символов UNICODE через XSLT
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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