使用 XSLT/XML 生成 HTML 标签的样式? (xsl:属性集)
好吧,这是一个艰难的小时左右...我在生成不同宽度的表格单元格时遇到了困难。我使用 XML/XSLT 输出 HTML,因此宽度基本上以 XML 格式存储:
<size>
<width1>5</width1>
<width2>4</width2>
<width3>7</width3>
</size>
使用 XSLT 的属性集,我应该有一个表格行和宽度分别为 5px、4px、7px 的单元格。然而,这样做的问题是 attribute-set
需要是
的子级才能工作。我不能这样做:(原谅缺少的 px)
<tr>
<td>
<xsl:attribute-set name="style">
<xsl:attribute name="width"><xsl:value-of select="size/width1"/></xsl:attribute>
</xsl:attribute-set>
</td>
<td>
<xsl:attribute-set name="style">
<xsl:attribute name="width"><xsl:value-of select="size/width2"/></xsl:attribute>
</xsl:attribute-set>
</td>
<td>
<xsl:attribute-set name="style">
<xsl:attribute name="width"><xsl:value-of select="size/width3"/></xsl:attribute>
</xsl:attribute-set>
</td>
</tr>
有没有办法使用 XML 数据生成 html 标签来设置它们的样式?
Okay, it's been a tough hour or so... I'm having difficulties generating table cells with different widths. I'm using XML/XSLT to spit out my HTML, so basically the widths are stored in XML format:
<size>
<width1>5</width1>
<width2>4</width2>
<width3>7</width3>
</size>
Using XSLT's attribute-set I should have a table row and cells with 5px, 4px, 7px widths respectively. However, the trouble with this is that attribute-set
needs to be a child of <xsl:stylesheet>
for it to work. I CAN'T do this: (forgive the missing px)
<tr>
<td>
<xsl:attribute-set name="style">
<xsl:attribute name="width"><xsl:value-of select="size/width1"/></xsl:attribute>
</xsl:attribute-set>
</td>
<td>
<xsl:attribute-set name="style">
<xsl:attribute name="width"><xsl:value-of select="size/width2"/></xsl:attribute>
</xsl:attribute-set>
</td>
<td>
<xsl:attribute-set name="style">
<xsl:attribute name="width"><xsl:value-of select="size/width3"/></xsl:attribute>
</xsl:attribute-set>
</td>
</tr>
Is there any way to generate html tag using XML data to style them?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要在
元素中添加 xsl:attribute,而不是 xsl:attribute-set:
Instead of xsl:attribute-set you need to add an xsl:attribute inside your
<td>
element:更多 XSLT 样式:
应用于您的示例结果将是:
More XSLT style:
Applied to your sample result will be: