如何摆脱 xmlns=""?

发布于 2024-12-12 02:01:52 字数 514 浏览 0 评论 0 原文

我正在尝试使用 XSLT 将 XML 转换为 xHTML。

执行此操作后,我在所有 HTML 标记中获得了 xmlns="" 属性 (

)。

这是我的 XSL 文件的一部分

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:output method="xml"
       doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" 
       doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"/>
  <html xmlns="http://www.w3.org/1999/xhtml">

可能是什么问题?

I am trying to transform XML to xHTML using XSLT.

After doing this I get a xmlns="" attribute in all HTML tags(<p>).

This is my part of my XSL file

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:output method="xml"
       doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" 
       doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"/>
  <html xmlns="http://www.w3.org/1999/xhtml">

What might be the problem?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

月竹挽风 2024-12-19 02:01:52

如果您希望所有结果元素都位于 XHTML 命名空间 http://www.w3.org/1999/xhtml 中,那么您需要将该命名空间声明放在 xsl:stylesheet< /code> 元素所以使用

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
  xmlns="http://www.w3.org/1999/xhtml">

       <xsl:output method="xml"
        doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" 
      doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"/>

  <xsl:template match="/">
    <html>
      <body>
        <xsl:apply-templates/>
      </body>
    </html>
  </xsl:template>

  <xsl:template match="foo">
    <p>
      <xsl:apply-templates/>
    </p>
  </xsl:template>

  ...
</xsl:stylesheet>

If you want all your result elements to be in the XHTML namespace http://www.w3.org/1999/xhtml then you need to put that namespace declaration on the xsl:stylesheet element so use

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
  xmlns="http://www.w3.org/1999/xhtml">

       <xsl:output method="xml"
        doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" 
      doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"/>

  <xsl:template match="/">
    <html>
      <body>
        <xsl:apply-templates/>
      </body>
    </html>
  </xsl:template>

  <xsl:template match="foo">
    <p>
      <xsl:apply-templates/>
    </p>
  </xsl:template>

  ...
</xsl:stylesheet>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文