Функция current возвращает набор узлов, состоящий из единственного члена – текущего узла. Для внешнего выражения (выражения, которое не является частью другого выражения), текущий узел всегда тот же самый, что и узел контекста. Таким образом,
<xsl:value-of select='current()'/>
означает то же самое, что и
<xsl:value-of select='.'/>
Однако внутри квадратных скобок текущий узел обычно отличается от узла контекста. Например,
<xsl:apply-templates select='//glossary/item[@name=current()/@ref]'/>
будет обрабатывать все элементы
<xsl:apply-templates select='//glossary/item[@name=./@ref]'/>
который означает то же самое, что
<xsl:apply-templates select='//glossary/item[@name=@ref]'/>
а потому будет обрабатывать все элементы
Если в шаблоне использовать функцию current, фиксируется ошибка.
unparsed-entity-uri возвращает URI неразобранной сущности с заданным именем, находящейся в том же документе, что и узел контекста (см. [3.3 Неразобранные сущности]). Если такой сущности нет, функция возвращает пустую строку.
Функция generate-id возвращает строку, уникальным образом идентифицирующую тот узел из набора узлов, представленного в аргументе, который первым встретится в документе. Уникальный идентификатор должен состоять из алфавитно- цифровых символов ASCII и должен начинаться с буквы. Таким образом, данная строка синтаксическим соответствует имени XML. Разработчик волен генерировать идентификатор любым удобным ему способом при условии, что для одного и того же узла всегда генерируется один и тот же идентификатор, а для разных узлов всегда генерируются разные идентификаторы. Процессор не обязан генерировать одни и те же идентификаторы при каждом преобразовании документа. Нет гарантий, что сгенерированный уникальный идентификатор не совпадет с каким-либо уникальным ID, указанным у исходном документе. Если в аргументе был дан пустой набор узлов, функция возвращает пустую строку. Если аргумент отсутствует, то по умолчанию используется узел контекста.
Аргумент функции должен обрабатываться как строка QName. QName приводится к расширенному имени с помощью деклараций пространства имён в области видимости данного выражения. Функция system-property возвращает объект, представляющий значение системного параметра, идентифицируемого этим именем. Если такого системного свойства нет, должна возвращаться пустая строка.
Реализации процессора должны представлять следующие системные свойства, относящиеся к пространству имён XSLT:
13 Сообщения
<!– Category: instruction ->
<xsl:message
terminate = «yes» | «no»>
<!– Content: template ->