Связывание xsl с XML не работает, когда определено целевое пространство имен - PullRequest
0 голосов
/ 07 октября 2011

Я создал файл XML и преобразовал его в HTML, используя xsl.Однако, когда я добавляю целевое пространство имен в файл XML, мой браузер не обрабатывает файл правильно.Когда я удаляю целевое пространство имен, оно работает нормально.

XML выглядит следующим образом:

<root  xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
 xmlns='http://xml.netbeans.org/schema/XmlSchema'
 xsi:schemaLocation='http://xml.netbeans.org/schema/XmlSchema XmlSchema.xsd'>

Когда в XML присутствует строка xmlns='http://xml.netbeans.org/schema/XmlSchema', браузер не обрабатывает ееправильно.Когда эта строка удалена, она работает правильно.В чем проблема?

1 Ответ

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

Проблема заключается в том, что вы не обрабатываете пространство имен http://xml.netbeans.org/schema/XmlSchema в файле XSLT.

Я думаю ... мне стыдно догадываться - как вы думаете, кто-то может сказать вам, в чем проблема с вашим кодом, когда вы не показываете свой код?

Итак, я думаю, у вас есть что-то вроде этого:

<xsl:stylesheet 
  version="1.0" 
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>
  <xsl:template match="root">
    <!-- etc ... -->
  </xsl:template>
</xsl:stylesheet>

где вы должны иметь

<xsl:stylesheet 
  version="1.0" 
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:xs='http://xml.netbeans.org/schema/XmlSchema'
>
  <xsl:template match="xs:root">
    <!-- etc ... -->
  </xsl:template>
</xsl:stylesheet>

Не обработка пространства имен. Адаптируйте свой XSLT соответственно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...