У меня следующая проблема с пространствами имен XSL.Я создаю PDF, используя FOP с одним XSL-файлом и одним XML-файлом.
Вот мой XML-файл:
<?xml version= "1.0" encoding= "ISO-8859-2"?>
<ReportContent>BLABLA<yt:picture src="pic.png"/></ReportContent>
Вот мой XSL-файл:
<?xml version="1.0" encoding="ISO-8859-2"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:yt="http://www.yt.com/text/2"
>
<xsl:template match="/">
<fo:root >
[...]
<fo:flow >
<fo:block> <xsl:apply-templates select='ReportContent'> </xsl:apply-templates></fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
</xsl:template>
</xsl:stylesheet>
Мне нужно включить пространство имен yt :.Когда я делаю это в XML следующим образом:
<?xml version= "1.0" encoding= "ISO-8859-2"?>
<ReportContent xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:yt="http://www.yt.com/text/2">
BLABLA<yt:picture src="pic.png"/>
</ReportContent>
Это прекрасно работает.
Но в реальной жизни я не могу добавить пространство имен в свой XML (способ создания XML неразрешить это).
Поэтому я попытался написать его только на xsl, но он не работает вообще (я пытался добавить его к каждому тегу в xsl, и он не работает).
Я не понимаю, как работает все это пространство имен ...
Можете ли вы помочь мне найти, куда поместить пространство имен в xsl, чтобы я не получил никакой ошибки.
Надеюсь, мой вопрос ясен
Заранее спасибо.