html - 使用 XSL 转换定位和格式化包含在 XML 属性中的 HTML
问题描述
我正在使用 XSL-FO 转换将 XML 转换为 PDF。在这个 XML 中,我有各种字段,它们只是复制到 PDF 中而没有格式化。
某些字段的值作为 HTML 存储在属性中,而我需要格式化。我在使用 XSL 模板定位和格式化此 HTML 时遇到问题。
我尝试使用各种选择器和模板来使 XSL 成为上述 html 的格式化输出。
这是 XML 的一个示例,您可以在其中看到 valueString 字段以及“value”属性内的 HTML。
<item>
<linkId value="linkId1"/>
<text value="This is some title text"/>
<answer>
<valueString
value="<p><strong>This is the html value</strong></p>
<p>which I am not able to format</p>"/>
</answer>
</item>
我尝试使用此模板来定位和格式化此 html(例如,对于强 html 元素):
<xsl:template match="valueString[@value='strong']">
<fo:inline font-weight="bold">
<xsl:apply-templates/>
</fo:inline>
</xsl:template>
我使用以下方法调用模板:
<xsl:apply-templates select="n1:answer/n1:valueString"></xsl:apply-templates>
我究竟做错了什么?
任何帮助将不胜感激。
解决方案
推荐阅读
- android - Kotlin:SumbyDouble 返回额外的小数
- c# - 使用 Entity Framework ASP.NET MVC 从 SQL 数据库中提取
- javascript - Angular中的带有管道的mergeMap
- python - 在凸包中获取点
- angular - 卸载 Angular CLI (@angular/cli) 时,角度版本仍然是 6.2.0
- python-2.7 - 将字符串列表附加到 csv 中的第一列
- r - 使用时间戳条件计算每个栅格像元特定距离内的点数
- javascript - Vue,比较两个数组并检查结果是否匹配
- javascript - 如何使用 componentDidMount 调用 setState 而不会导致额外的渲染调用?
- jenkins - SVN_REVISION 变量未在 Jenkins 中返回结帐修订