【发布时间】:2021-09-19 00:22:17
【问题描述】:
我仍处于了解和学习使用 XBL 组件的早期阶段。我正在尝试使用样式表在主实例中的节点内容上生成 HTML“报告”(暂时搁置如果该节点发生更改则更新它的问题)。我可以让样式表运行并生成其中没有任何值的 HTML,但我仍在尝试了解如何将数据 get 到样式表。我查看了“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>
我想这是这个工作的关键,但我怎么能简单地在我的 xbl 的自定义标签上添加一个 ref 属性并让这个工作?我一直在查看 Orbeon 文档、“沙盒”示例和其他地方,但我可能仍然误解了 XBL 组件的一些基本原理。谁能指出我正确的方向?
【问题讨论】:
-
我试图在下面的回答中提供一些上下文。如果我误解了你的问题,请告诉我。 -亚历克斯