У меня есть таблица стилей XSL, для которой мне нужно добавить некоторые пользовательские манипуляции с строкой, используя функцию xsl:. Но у меня возникли проблемы с попыткой определить, где разместить эту функцию в моем документе.Где я могу поместить функцию XSL в документ XSL?
Моей XSL упрощенные выглядит так,
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:my="myFunctions" xmlns:d7p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="Master.xslt"/>
<xsl:template match="/">
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<!-- starts actual layout -->
<fo:page-sequence master-reference="first">
<fo:flow flow-name="xsl-region-body">
<!-- this defines a title level 1-->
<fo:block xsl:use-attribute-sets="heading">
HelloWorld
</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
</xsl:template>
</xsl:stylesheet>
И я хочу поставить в простой функции, скажем,
<xsl:function name="my:helloWorld">
<xsl:text>Hello World!</xsl:text>
</xsl:function>
Но я не могу работать, где поставить функцию, когда я положите его под узел, я получаю сообщение об ошибке «xsl: function» не может быть дочерним элементом элемента «xsl: stylesheet»., и если я поставлю его под узел, то получаю аналогичную ошибку.
Куда следует поместить функцию? Idealy Я хотел бы поместить мои функции во внешний файл и импортировать их в свои файлы xsl.
Thanks Peirre! Это сделал трюк. – mattdlong