1

我无法在 Apache FOP xsl 文档中使用 Barcode4J ean-13 生成动态消息。我确实使用硬编码消息生成了条形码。但是,我想将条形码编号作为参数传递给 xsl 文档。我该怎么做呢?

此外,我已经参考了barcode4J网站的帮助页面,但没有运气。我曾尝试使用此处描述的技术,但没有运气。

这就是我的 xsl 文档的样子

<fo:block-container left="1000" top="1000"
            z-index="1" position="relative">
            <fo:block>
                <fo:instream-foreign-object>
                    <bc:barcode xmlns:bc="http://barcode4j.krysalis.org/ns"
                        message="123456789789">
                        <bc:ean-13 />
                    </bc:barcode>
                </fo:instream-foreign-object>
            </fo:block>
        </fo:block-container>
4

1 回答 1

1

您没有说您使用的是哪个 XSLT 版本。

如果要将参数传递给 XSLT,则需要将参数声明为 的子元素xsl:stylesheet,例如:

<xsl:param name="barcode" />

对于 XSLT 1.0,请参阅http://www.w3.org/TR/xslt#top-level-variables。如果您使用的是 XSLT 2.0,您可以声明更多关于它的信息。

如何传递参数值将取决于您使用的 XSLT 处理器,但您可以期望 XSLT 处理器的文档中涵盖了这一点。

$barcode然后,您可以在其他文字标记中的“属性值模板”中使用该参数:

<fo:block-container left="1000" top="1000"
        z-index="1" position="relative">
        <fo:block>
            <fo:instream-foreign-object>
                <bc:barcode xmlns:bc="http://barcode4j.krysalis.org/ns"
                    message="{$barcode}">
                    <bc:ean-13 />
                </bc:barcode>
            </fo:instream-foreign-object>
        </fo:block>
    </fo:block-container>

有关 XSLT 1.0 中的属性值模板,请参阅http://www.w3.org/TR/xslt#dt-attribute-value-template

于 2015-08-31T15:37:43.137 回答