Проверка пространства имен отключена на сервере, который обрабатывает преобразования XSL (потому что тот, кто написал XSL, не понимал пространства имен). Мне нужно внести изменения в XSL, но я не могу проверить его, потому что не определены пространства имен, т. Е.
Вместо
<xsl:template match="ns:element[position()=1]">...
имеет
<xsl:template match="element[position()=1]">...
, поэтому он не соответствует ни одному из элементов XML, потому что все они квалифицированы как пространства имен.
Я не могу проверить на сервере, потому что у меня нет доступа к нему. Исправлять XSL бесполезно, потому что тогда должна быть включена проверка пространства имен, и это сломает все остальные преобразования.
Итак, мне нужно найти способ игнорировать пространства имен во время преобразования XSL. У меня есть доступ к MSXML, XMLSpy (здесь я не могу найти нужную опцию), и, если мне действительно нужно, я могу что-то написать в C # или аналогичном языке.
В качестве последнего средства я могу написать несколько регулярных выражений, но я действительно не хочу идти по этому пути, особенно когда речь идет о XML ...
В ответ на комментарий о более подробной информации:
Это виртуальный сервер Windows 2003, на котором запущен экземпляр сервлета Methode (www.eidosmedia.com). Я не знаю, какую технику использует этот сервлет для выполнения XSL-преобразований. Они игнорируют пространства имен, потому что человек, который изначально написал XSL, не понимал их и не включил их в XSL. Так что теперь все XSL-файлы (сотни) не имеют пространств имен.
Это может быть интересной задачей, чтобы исправить все эти файлы за один раз, но это не то, что мне сейчас нужно (и руководитель отдела никогда бы не согласился на это в любом случае из-за большого количества испытаний). Все, что я хочу знать, - это наличие инструмента (или методики), который позволит мне принимать эти XSL-файлы как есть и использовать их для преобразования соответствующего XML-документа без учета пространств имен. Мне кажется, что инструмент должен существовать, потому что тот, кто написал оригинальный XSL, наверняка сам использовал нечто подобное для проверки преобразований.