我有一个XSL样式表,我需要使用xsl:function来添加一些自定义字符串操作。但是我在尝试着解决将函数放在文档中的位置时遇到了困难。我在哪里可以将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文件中。
谢谢Peirre!那就是诀窍。 – mattdlong 2009-09-03 07:15:09