2

我正在使用 Apache FOP 生成 PDF。我想使用 unparsed-text() 函数来读取 XSL 文件中的非 xml 文档。

编写该函数后,我得到了这个错误。这是我的 XSL 文件。

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format"
     xmlns:f="Functions">

     <xsl:variable name="properties" select="unparsed-text('file.properties')" as="xs:string"/>
        <xsl:function name="f:getProperty" as="xs:string?">
             <xsl:param name="key" as="xs:string"/>
              <xsl:variable name="lines" as="xs:string*" select="
             for $x in 
               for $i in tokenize($properties, '\n')[matches(., '^[^!#]')] return
              tokenize($i, '=')
             return translate(normalize-space($x), '\', '')"/>
         <xsl:sequence select="$lines[index-of($lines, $key)+1]"/>
  </xsl:function>

    <xsl:template match=" EmployeeData">
        <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
            <fo:layout-master-set>
                <fo:simple-page-master master-name="simple"
                    page-height="20cm" page-width="10.5cm" margin-left="0.2cm"
                    margin-right="0.2cm">
                    <fo:region-body margin-top="0.5cm" />
                </fo:simple-page-master>
            </fo:layout-master-set>
            <fo:page-sequence master-reference="simple">

                <xsl:variable name="lang" select="language" />

                <fo:flow flow-name="xsl-region-body">

                  From Properties File  <xsl:value-of     select="f:getProperty('language')"/>


                </fo:flow>
            </fo:page-sequence>
        </fo:root>
    </xsl:template>
</xsl:stylesheet>

我怎样才能消除这个错误?或者如果可能的话,给我任何替代方案。谢谢你。

4

1 回答 1

3

该错误表明您正在使用 XSLT 1.0 处理器来运行 XSLT。unparsed-text仅受 Saxon 9 等 XSLT 2.0 处理器支持。

于 2013-10-15T08:59:30.380 回答