Как использовать xsl: value-of в качестве src для fo: external-graphic? - PullRequest
0 голосов
/ 21 декабря 2018

Я довольно новичок в XSL-FO, и то, что я пытаюсь, вероятно, не идеальный способ решить эту проблему.

У меня есть несколько значков, хранящихся в локальном каталоге.Мне нужно использовать путь к этим значкам динамически для источника fo: external-graphic.

<fo:external-graphic src='xsl:value-of select="article[@index=1]/data/subscriber-B-10'  width="100px" height="90px" content-height="scale-up-to-fit"  display-align="center" text-align="center"></fo:external-graphic>

Я пробовал разные варианты пути в subscriber-B-10.

"subscriber-B-10": "url('file:///C:/Users/Administrator/icons/icon1.bmp')",
"subscriber-B-10": "file:///C:/Users/Administrator/icons/icon1.bmp",

Последний с src='url("xsl:value-of select="article[@index=1]/data/subscriber-B-10")'

Работает использование пути непосредственно к одному из значков:

src='url("file:///C:/Users/Administrator/icons/icon1.bmp")

1 Ответ

0 голосов
/ 21 декабря 2018

Посмотрите «Шаблоны значений атрибутов».Определение XSLT 1.0: https://www.w3.org/TR/1999/REC-xslt-19991116#attribute-value-templates (но, надеюсь, вы используете более позднюю версию XSLT 2.0 или XSLT 3.0).

Шаблон значения атрибута можно использовать для получения строкового значения вашего XPath с помощьюпоместив XPath между { и } в значение вашего буквального атрибута:

<fo:external-graphic
  src="{article[@index=1]/data/subscriber-B-10}"
  width="100px" height="90px" content-height="scale-up-to-fit"
  display-align="center" text-align="center" />
...