Как избавиться от xmlns = ""? - PullRequest
       1

Как избавиться от xmlns = ""?

0 голосов
/ 27 октября 2011

Я пытаюсь преобразовать XML в xHTML с помощью XSLT.

После этого я получаю атрибут xmlns="" во всех тегах HTML (<p>).

Это моя часть моего 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">

В чем может быть проблема?

1 Ответ

2 голосов
/ 28 октября 2011

Если вы хотите, чтобы все ваши элементы результата находились в пространстве имен XHTML http://www.w3.org/1999/xhtml, вам нужно поместить это объявление пространства имен в элемент * xsl:stylesheet, поэтому используйте

<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...