#variables #xsl-fo
#переменные #xsl-fo
Вопрос:
Я хочу создать файл xsl (для преобразования xslt в xsl: fo с использованием xml) Как я могу отобразить изображение, URL-адрес которого хранится в файле xml? Я могу использовать переменные
<fo:block-container top="5mm" height="20mm" left="0mm" width="75mm">
<fo:block margin-top="10mm" margin-left="50mm">
<fo:external-graphic display-align="center" src="url('{$imageUrl}')" content-width="75mm"></fo:external-graphic>
</fo:block>
</fo:block-container>
Но как я могу установить значение переменной из тега из xml-файла?
Пример XML из комментария:
<?xml version="1.0" encoding="UTF-8" ?>
<doc>
<title>Simple test</title>
<image>
<i>colour_logo.jpg</i>
</image>
<body>
<question>
<p>Is the sky blue?</p>
</question>
<question>
<p>Is the grass blue?</p>
</question>
</body>
</doc>
Комментарии:
1. Был бы полезен пример XML. Вы можете получить URL-адрес / путь к изображению из XML, используя XPATH в вашем XSLT, но без некоторого примера XML трудно предоставить вам XPath
2. <?xml version=»1.0″ encoding=»UTF-8″ ?> — <doc> <title>Простой тест</title> — <изображение> <i>colour_logo.jpg </i> </image> — <body> — <question> <p>Небо голубое? </p> </question> — <вопрос> <p> Трава синяя? </p> </question> </body> </doc>
Ответ №1:
Вы можете заменить {$imageUrl}
на {/doc/image/i}
.
<fo:block-container top="5mm" height="20mm" left="0mm" width="75mm">
<fo:block margin-top="10mm" margin-left="50mm">
<fo:external-graphic display-align="center" src="url('{/doc/image/i}')" content-width="75mm"></fo:external-graphic>
</fo:block>
</fo:block-container>