
但在我看来,起点并不是那么简单.我的第一个目标是转换一个< HTML>标记为< topic>标签.
我做了以下xslt:
<xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> <xsl:template match="/"> <xsl:apply-templates/> </xsl:template> <xsl:template match="HTML"> <topic> <xsl:text> Conversion Test</xsl:text> </topic> </xsl:template>
但是,现在我运行这个xslt后,结果xml纯粹与原始HTML页面的内容相同,似乎我写的第三个模板匹配(以匹配< HTML>标记)永远不会被击中.
源HTML看起来像:
<!DOCTYPE HTML PUBliC "-//W3C//DTD xhtml 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <HTML xmlns="http://www.w3.org/1999/xhtml"> <head>..</head> <body>...</body> </HTML>
专家可以帮我一点吗?
解决方法 XSLT 1.0:尝试将xmlns:x =“http://www.w3.org/1999/xhtml”添加到xsl:stylesheet并将匹配更改为match =“x:HTML”. (注意:您不必使用“x”;您可以选择任何您想要的东西.)
XSLT 2.0:
使用上面的方法或将匹配中的命名空间前缀替换为“*”(match =“*:HTML”).您还可以将xpath-default-namespace =“http://www.w3.org/1999/xhtml”添加到xsl:stylesheet中.
总结以上是内存溢出为你收集整理的XHTML到XML XSLT的转换全部内容,希望文章能够帮你解决XHTML到XML XSLT的转换所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)