我仍处于了解和学习使用 XBL 组件的早期阶段。我正在尝试使用样式表在主实例中的节点内容上生成 HTML“报告”(暂时搁置如果该节点发生更改则更新它的问题)。我可以让样式表运行并生成其中没有任何值的 HTML,但我仍在尝试了解如何将数据获取到样式表。我查看了“XForm Sandbox”示例“ xbl-xslt.xhtml ”,它确实在我的应用程序中运行。该示例在自定义标记内使用 xform 重复,并且在样式表中有一个模板与引用自定义标记的匹配项,所以我假设这就是样式表获取其数据的方式。
我不希望它生成任何 XForm 标记,只生成 HTML。在 XBL 绑定上,我将xxbl:mode="binding"
其用作属性。我只想ref
在自定义标签上添加一个属性,但我不知道如何将数据传递给样式表。(目前在我的样式表中,所有内容都在一个<xsl:template match="/">
元素下。)我注意到“备用表”示例具有以下内容:
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:if test="/*">
<xsl:attribute name="xxbl:scope">outer</xsl:attribute>
</xsl:if>
<xsl:apply-templates select="@*[not(name() = ('style1', 'style2'))]|node()"/>
</xsl:copy>
</xsl:template>
和这个:
<xsl:template match="foo:table-alternate">
<xh:table>
<xsl:apply-templates select="@*|node()"/>
</xh:table>
</xsl:template>
我想这是这个工作的关键,但我怎么能简单地ref
在我的 xbl 的自定义标签上添加一个属性并让这个工作?我一直在查看 Orbeon 文档、“沙盒”示例和其他地方,但我可能仍然误解了 XBL 组件的一些基本原理。谁能指出我正确的方向?