Здравствуйте, iseYogik, Вы писали:
Y>Коллеги, ХЭЛП!
Y>В программе на JavaScript файл "in.xml" загружается С ПРОВЕРКОЙ НА ВАЛИДНОСТЬ, а затем преобразовыватся в другой xml с помощью xsl.
Y>Проверка на валидность проходит правильно — проверено (то есть ссылки работают).
Y>НО. Если в качестве схемы входного документа используется DTD — всё ОК. А если XML Schema — преобразование не проходит (outXmlDoc пустой)...
Y>Y>// Преобразовать inputXmlDoc к рабочему xml-документу по правилам xslDoc
Y>inputXmlDoc.load("in.xml");
Y>xslDoc.load("in.xsl");
Y>inputXmlDoc.transformNodeToObject(xslDoc, outXmlDoc); // вот это не отрабатывает при использовании XML Schema, а не DTD...
Y>
А что если поступать так:
1) Загружаем in.xml как текстовый файл:
objFSO = new ActiveXObject("Scripting.FileSystemObject");
var ts = objFSO.OpenTextFile("in.xml", 1);
var text_data = ts.ReadAll();
2) Удаляем ссылку на XSD:
например с помощью регуларных выражений удаляем из этого текста строку xsi:noNamespaceSchemaLocation="имя_схемы.xsd"
(ну или как там делается ссылка на XSD)
3) Загружаем этот текст как XML:
inputXmlDoc.loadXML(text_data);
4) Ну а дальше всё как обычно...
Удачи!