在 Apache FOP XSL 文档中使用 Barcode4J 的动态消息
Dynamic Message using Barcode4J in Apache FOP XSL Document
我在 Apache FOP xsl 文档中使用 Barcode4J ean-13 生成动态消息时遇到问题。我确实得到了使用硬编码消息生成的条形码。但是,我想将条形码编号作为参数传递给 xsl 文档。我该怎么做?
此外,我已经参考了 barcode4J site for help page with no luck. I have tried using the technique described here 但没有成功。
这是我的 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>
您没有说明您使用的是哪个 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 处理器的文档中涵盖了这一点。
然后您可以在其他文字标记的 'attribute value template' 中使用 $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
我在 Apache FOP xsl 文档中使用 Barcode4J ean-13 生成动态消息时遇到问题。我确实得到了使用硬编码消息生成的条形码。但是,我想将条形码编号作为参数传递给 xsl 文档。我该怎么做?
此外,我已经参考了 barcode4J site for help page with no luck. I have tried using the technique described here 但没有成功。
这是我的 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>
您没有说明您使用的是哪个 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 处理器的文档中涵盖了这一点。
然后您可以在其他文字标记的 'attribute value template' 中使用 $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