Имя: Пароль:
1C
 
Чтение XML документа с внешней таблице стилей xml-stylesheet:
0 mdfilsoft
 
12.08.10
17:34
Всем доброго времени суток. Столкнулся с проблемой чтения xml-документа. Документе xml начинается со следующих двух строчек:

<?xml version="1.0" encoding="utf-8"?>
<?xml:stylesheet type="text/xsl" href="XMLtoHTMLTransform.xsl"?>

После этих строк описывается корневой элемент.
При чтении xml-документа возникает ошибка:

Ошибка разбора XML: - [2,17]
Фатальная ошибка:
Colons are not allowed in this when namespaces are enabled SystemId: file://D:/Config.xml
// я подозреваю что 2 - это номер строки, а 17 - номер символа в xml документе.

Если удалить из xml-документа вторую строчку, то 1С:Предприятие читает xml -документ бес проблем.
Кто-нибудь сталкивался с подобной проблемой... Как ее можно обойти без редактирования xml-документа
1 maz
 
12.08.10
17:49
видимо файл со стилями не находит. иль кривой он
2 maz
 
12.08.10
17:58
Если не скормить ему этот файл со стилем который указывается во второй строке, XMLtoHTMLTransform.xsl то так и будет ругаться. Если его нету то удаляйте строку. Ну либо создавайте заново:)
3 mdfilsoft
 
17.08.10
13:27
Еще раз проанализировав сообщение, я понял что проблема заключается в двоеточии перед "stylesheet". Если перевести сообщение с английского, то оно выглядит так:

Ошибка разбора XML: - [2,17]
Здесь двоеточия не допускаются, когда включено пространство имен SystemID: file://D:/Config.xml

Если заменить двоеточие на тире то 1С:Предприятие 8 читает XML-файл нормально.

Как было:
<?xml:stylesheet type="text/xsl" href="XMLtoHTMLTransform.xsl"?>

После изменения:
<?xml-stylesheet type="text/xsl" href="XMLtoHTMLTransform.xsl"?>

Возможно нужно указывать разделитель "тире" (но мне не понятно где, в каком месте)? Как это можно обойти?
4 mdfilsoft
 
17.08.10
15:22
Разобрался вроде с проблемой. Я думал что 1С:Предприятие 8 не корректно читает XML-файл, а оказалось что программа, которая формирует его не соблюдает стандарты написания XML-файлов. В частности нужно объявлять внешнюю таблицу стилей с помощью инструкции обработки с адресатом xml-stylesheet (а не xml:stylesheet). Здесь перепутали с XSL-таблицами, которые должны иметь корневой элемент xsl:stylesheet (обратите внимание на двоеточие).

Если кому интересно могут зайти на страничку:

http://www.w3.org/TR/xml-stylesheet/