#xml #xslt
#xml #xslt
Вопрос:
Я создал 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'>
Когда строка xmlns='http://xml.netbeans.org/schema/XmlSchema'
присутствует в XML, браузер обрабатывает ее неправильно. Когда эта строка удаляется, она работает правильно. В чем проблема?
Ответ №1:
Проблема, по-видимому, заключается в том, что вы не обрабатываете 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.
Комментарии:
1. Если вы попросите меня ввести код XSL, я бы это сделал! Я никогда не знал, что мне нужно обрабатывать пространство имен в файле XSL раньше. Это работает со мной, спасибо.
2. @Alaa Приятно слышать. В следующий раз вопрос, который не требует психической отладки, пожалуйста. 😉