使用xslt我试图获取xhtml o / p。我在
中使用了xmlns =“http://www.w3.org/1999/xhtml”<xsl:stylesheet>
获取xhtml o / p。每件事情都很好但是在第一个div中我获得了相同的命名空间。即
<div xmlns="http://www.w3.org/1999/xhtml">
现在如何删除xmlns =“http://www.w3.org/1999/xhtml”
答案 0 :(得分:4)
正如其他人所指出的,你可能不想这样做。如果您希望输出为XHTML,则需要保留XHTML名称空间声明。
话虽如此,如果你真的想这样做:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- attributes, commments, processing instructions, text: copy as is -->
<xsl:template match="@*|comment()|processing-instruction()|text()">
<xsl:copy-of select="."/>
</xsl:template>
<!-- elements: create a new element with the same name, but no namespace -->
<xsl:template match="*">
<xsl:element name="{local-name()}">
<xsl:apply-templates select="@*|node()"/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
答案 1 :(得分:1)
为什么要删除命名空间?它是XHTML规范的一部分,你说你想要XHTML输出。那么 - 问题出在哪里?
显然您使用<div>
开始输出,否则您将在<html>
元素上使用命名空间声明。