xslt xml到html:如何匹配名称以xxx开头的元素?

xslt xml到html:如何匹配名称以xxx开头的元素?,html,xml,xslt,xpath,Html,Xml,Xslt,Xpath,这是我遇到的一个问题。为了防止h1重复,在xml中,每个h1标记在h1之后都有一个随机数。源xml和想要的html如下所示: 源xml: <h1_JW1XRT>Hello1</h1_JW1XRT> <h1_JXZRIE>Hello2</h1_JXZRIE> Hello1 你好 转换成html <h1 id="h1_JW1XRT">Hello1</h1> <h1 id="h1_JXZRIE">Hello2<

这是我遇到的一个问题。为了防止h1重复,在xml中,每个h1标记在h1之后都有一个随机数。源xml和想要的html如下所示:

源xml:

<h1_JW1XRT>Hello1</h1_JW1XRT>
<h1_JXZRIE>Hello2</h1_JXZRIE>
Hello1
你好
转换成html

<h1 id="h1_JW1XRT">Hello1</h1>
<h1 id="h1_JXZRIE">Hello2</h1>
Hello1
你好

如何编写此模板?

此转换:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output omit-xml-declaration="yes" indent="yes"/>
 <xsl:strip-space elements="*"/>

 <xsl:template match="*[starts-with(name(), 'h1')]">
  <h1 id="{name()}"><xsl:apply-templates/></h1>
 </xsl:template>
</xsl:stylesheet>

应用于以下XML文档时(提供的XML片段包装在单个顶部元素中,以成为格式良好的XML文档):


你好
你好
生成所需的正确结果:

<h1 id="h1_JW1XRT">Hello1</h1>
<h1 id="h1_JXZRIE">Hello2</h1>
Hello1
你好

解释:正确使用标准XPath函数

@SeanB.Durkin,感谢您的观察。修好了,谢谢,可以用了。但是如何匹配从h1开始但不是h1home@用户1661755开始一个新问题。另外,注释提要中的XML很难阅读。@user1661755,我知道您可能有很多问题--请作为新问题单独提问--注释格式不适合表达代码或结构化数据。此外,如果您阅读了一本关于XSLT和XPath的好书,您会更快地更好地理解它。我在这里提供了一个很好的资源列表:您将使用什么代码库?
<h1 id="h1_JW1XRT">Hello1</h1>
<h1 id="h1_JXZRIE">Hello2</h1>