Я думаю, что это очень простой вопрос. Но, хотя я строю очень причудливое преобразование xslt, этот простой не может быть разрешен мной.символ переноса в атрибуте xslt (xsl-fo)
Проблема заключается в следующем: Я хочу добавить атрибуты к узлам xsl-fo, в зависимости от данных xml. Эти атрибуты часто содержат дефис. Как я могу добавить их с преобразованием xslt, где xsl: атрибутам не нравится символ переноса.
В узле XML я получил два атрибута (имя и значение) Пример: имя = "FONT_SIZE", значение = "7PT"
<Report>
<text content="I am a text">
<blockFormat name="font_size" value="7pt" />
</text>
</Report>
(Я понимаю, что это не хочет, потому что вы хотите работать с стилями etceters. Это просто пример с упрощенной задачи)
Теперь я хочу сделать XSL-FO блок, и я хочу, чтобы место, что атрибуты в блоке элемента по USI нг в XSL-функции XSL: атрибут
<fo:block>
<attribute name="{replace(@name,'_','-')}" select="@value" />
....
</fo:block>
цель достичь после трансформации
<fo:block font-size="7pt">
....
</fo:block
Это не работает, и я думаю, что это происходит потому, что в XSLT я не могу поставить дефис в имени атрибута, но в fo-attribute требуется.
Есть ли способ использовать функцию атрибута xsl: attribute?
А если нет, то какой из них вы можете предложить.
Благодарим вас за помощь !!!!
«* Я думаю, что это происходит потому, что в XSLT я не могу поставить дефис в имени атрибута *» Конечно, вы можете. Как именно это не удается?Вы получили сообщение об ошибке? И вы уверены, что используете процессор XSLT 2.0? –