Пространства имен в XSLT - PullRequest
3 голосов
/ 03 мая 2011

Я учусь делать пользовательские функции в XSLT. Кажется, что каждый пример, который я нахожу, объявляет пользовательское пространство имен, например

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:mynamespace="http://whatever">

Что я не понимаю, так это то, что должно идти туда, где у меня сейчас есть http://whatever', и что это делает? Разве я не могу использовать пространство имен xsl по умолчанию для создания функций?

Заранее спасибо за любую помощь

Ответы [ 2 ]

2 голосов
/ 03 мая 2011

С http://www.w3.org/TR/xslt20/#stylesheet-functions

Примечание:

Префикс не должен ссылаться на зарезервированное пространство имен : [см. ERR XTSE0080 ]

с http://www.w3.org/TR/xslt20/#dt-reserved-namespace

Определение: пространство имен XSLT вместе с некоторыми другими пространствами имен, распознаваемыми процессором XSLT, классифицируется как зарезервированноепространства имен и должны использоваться только так, как указано в настоящей и связанных спецификациях.

С http://www.w3.org/TR/xslt20/#err-XTSE0080

Использование зарезервированного пространства имен в имениименованный шаблон, режим, набор атрибутов, ключ, десятичный формат, переменная или параметр, функция таблицы стилей, определение именованного вывода или карта символов.

1 голос
/ 04 мая 2011

Если ваша таблица стилей является одноразовым кодом, используйте все что угодно для пространства имен для локальных функций.Я иногда использую «http://localhost/",», но я также знаю, что использовал «my: functions». Если таблицу стилей увидят или будут использовать другие люди, а функции нужно будет многократно использовать и задокументировать, подумайте о выборепространство имен, которое будет глобально уникальным и будет отражать полномочия на разработку спецификации функций; большинство людей выбирают что-то вроде http://your.domain.name/ns/purpose,, и вы также можете рассмотреть возможность размещения спецификации функций в этом месте в Интернете., если ваша библиотека функций тесно связана с конкретным словарем XML и имеет те же права разработки, что и этот словарь, это поместить функции в то же пространство имен, что и элементы в этом словаре.

...