小编mat*_*ong的帖子

我在哪里将XSL函数放在XSL文档中?

我有一个XSL样式表,我需要使用xsl:function添加一些自定义字符串操作.但是我在尝试找出将函数放在文档中的位置时遇到了麻烦.

我的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>
Run Code Online (Sandbox Code Playgroud)

我想提出一个简单的功能,比方说,

  <xsl:function name="my:helloWorld">
    <xsl:text>Hello World!</xsl:text>
  </xsl:function>
Run Code Online (Sandbox Code Playgroud)

但是我无法确定放置函数的位置,当我把它放在节点下时我得到一个错误,说' xsl:function'不能是'xsl:stylesheet'元素的子元素.,如果我把它放在节点下,我会收到类似的错误.

我应该把功能放在哪里?理想我想将我的函数放在外部文件中并将它们导入我的xsl文件中.

xslt xsl-fo

5
推荐指数
2
解决办法
2万
查看次数

标签 统计

xsl-fo ×1

xslt ×1