【问题标题】:how to extract partail value of elements and display them in bold/italic/list while converting an xml to html output in xslt如何在将xml转换为xslt中的html输出时提取元素的部分值并以粗体/斜体/列表显示它们
【发布时间】:2012-03-12 06:07:12
【问题描述】:

我正在处理 XML 转换。我必须提取元素的元素并以粗体/斜体/列表显示它们。 来源:

 <content>
    <bodyParagraphText>
ABCD<strong   xmlns="http://www.w3.org/1999/xhtml">:<dynamicVariable  name='BOLD'></dynamicVariable></strong>
 </bodyParagraphText>  
 </content>

1.输出要求1(粗体):

<aaa>
     ABCD **BOLD**
</aaa>

2.Output required1(list):

<aaa>
     ABCD 

 - BOLD

</aaa>

3.输出要求1(下划线):

  <aaa>
     ABCD BOLD(underlined)
  </aaa>

我对它完全陌生。我没有任何想法可以解决。 请帮忙。 提前谢谢你。

【问题讨论】:

  • 那些输出样本 - 这真的是你应该输出的吗?或者您应该使用粗体/列表/下划线(或斜体)格式输出 HTML?

标签: html xml xslt xslt-grouping


【解决方案1】:

有点猜测你需要做什么,但是:

  • 在您的 xsl:stylesheet 元素上,为 xhtml 声明一个命名空间前缀,例如 "xhtml"

  • 创建一个匹配"content/bodyParagraphText"的模板。

  • 显然,使用 XPath 表达式 "text()[1]" 获取“ABCD”文本。把它放在一个变量中,比如abcd

  • 使用 XPath 表达式 ".//xhtml:dynamicVariable/@name" 获取“BOLD”。把它放在一个变量中,比如dv

  • 要指定输出,请使用类似

<aaa>
  <xsl:value-of select="$abcd" /> **<xsl:value-of select="$dv" />**
</aaa>

第一个输出格式需要。

如果我误解了你的问题,请澄清...

【讨论】:

  • @LarsH..感谢您的回复。输出样本仅传达字面意思。你能提供给我完整的 XSLT。
  • @muzimil,在没有任何证据表明您正在尝试某些东西的情况下,我对“为您”提供完整的实现有点谨慎。一方面,我不知道这是否是学校的作业。我建议您阅读有关 XSLT 的介绍或教程,尝试解决问题,然后回来向我们展示您的尝试,并询问有关如何改进它的问题。在你不学习任何东西的情况下给你一个解决方案是没有意义的。从头开始教你 XSLT 对于 StackOverflow 的答案来说太难了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-06
  • 1970-01-01
  • 2023-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多