0

ドキュメントから、XSLプロセッサを使用してhrefリンク(または他のHTMLコンテンツ)を動的に生成できます。

<xhtml:tr>
<xhtml:td>
    <xsl:for-each select="{instance('fr-form-instance')/form/retrievalSection/retrievalControl">
        <xhtml:a href="http://somewhere/">
            <xsl:value-of select="SomeData"/>
            <xsl:if test="position() lt last()">
                <br/>
            </xsl:if>
        </xhtml:a>
    </xsl:for-each>
</xhtml:td>

上記は大まかなサンプルコードであり、上記のhrefは静的であるため無視できます。

問題は、これ(xsltで生成されたリンクテキスト)がインスタンスの更新時に自動的に更新されないことです。それを達成する方法は?

4

1 に答える 1

1

XSLT処理は、ページが読み込まれるときに一度だけ実行されます。XSLTステップをテンプレートまたは前処理ステップとして見ることができます。それが完了すると、XFormsが結果を処理し、動的に更新されます。

この方法でXSLTとXFormsを混在させることができますが、それは簡単なことではなく、可能であれば、それを避けるのがおそらく最善です。

代わりに、これを達成するためにXFormsを排他的に使用してみます。

<xhtml:td>
    <xforms:repeat nodeset="instance('fr-form-instance')/form/retrievalSection/retrievalControl">
        <xhtml:a href="http://somewhere/">
            <xforms:output value="SomeData"/>
            <xhtml:br/>
        </xhtml:a>
    </xforms:repeat>
</xhtml:td>

を動的にしたい場合はhref、XSLTのようにAVTを使用します。

href="{expression}"

最後に、<br/>内にを入れ<xforms:group>て条件付きにすることもできますが、可能であれば、この場合はCSSを使用することをお勧めします。

于 2011-02-01T03:14:47.553 に答える