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 に答える