Кислород возвращает следующие два вида
ошибок:
1) Пространство имен не объявлено для
'OwnFunction ()'. ( "Необъявленная
префикс пространства имен {xs} ")
На самом деле это проблема XML. Любая таблица стилей XSLT может быть правильно оформленным XML-документом. Среди других требований к правильности формы любой используемый префикс пространства имен должен быть связан с URI пространства имен в объявлении пространства имен.
Чтобы исправить это, привяжите префикс "xs"
к "http://www.w3.org/2001/XMLSchema"
- это означает добавление xmlns:xs="http://www.w3.org/2001/XMLSchema"
к элементу (обычно верхний элемент является хорошим выбором для этого пространства имен.
У вас та же проблема с "foo:ownFunction"
. Вы должны иметь префикс "foo"
связанный / определенный и видимый, прежде чем использовать его. Просто добавьте xmlns:foo="my:foo"
в верхний элемент таблицы стилей.
2) «неизвестная системная функция»
index-of-string () ". Функция XSLT
"index-of-string" я получил от этого
сайт, кажется, не
признаны:
http://www.xsltfunctions.com/xsl/functx_index-of-string.html
Вы забыли либо скопировать и вставить функцию с сайта Присциллы Уолмсли, либо сохранить ее в отдельном файле (рекомендуется), а затем использовать <xsl:import>
или <xsl:include>
, чтобы импортировать / включить этот файл таблицы стилей в преобразование.
Наконец, такие проблемы показывают, что вам нужно более систематическое введение XSLT. Получить хорошую книгу и прочитать ее хорошо. Вы не пожалеете. Этот ответ может быть полезен при перечислении того, что я считаю хорошими учебными ресурсами по XSLT и XPath.