Создайте al oop с запросом if в xsl fo - PullRequest
0 голосов
/ 07 августа 2020

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

Это пример того, как мой код структурирован:

XML:

<artikeldaten>
<artikel id="">
    <attribute>
        <attribut>a++</attribut>
        <attribut>75 Zoll</attribut>  
        <attribut>4k Ultra HD</attribut>  
        <attribut>UE75RU7179</attribut>  
        <attribut>37,5 kg</attribut>
        <attribut>154 Watt</attribut>
        <attribut>3x HDMI (digital)</attribut>
    </attribute>
</artikeldaten>

XSL FO:

<xs:template match="/">
 <fo:root>
  <fo:page-sequence master-reference="DIN-A4">
   <fo:flow flow-name="content">
    <fo:block-container>
     <fo:block>
      <xs:for-each select="artikeldaten/artikel/attribute">
       <xs:if test="position()!= last()">
        <xs:value-of select="."/>
         <xs:text>, </xs:text>
       </xs:if>
      </xs:for-each>
     </fo:block>
    </fo:block-container>
    //Closing tags

Решение в целом правдоподобно для меня, но, к сожалению, не работает.

И да, я также уже тестировал возможность размещения значения функции вне запроса if.

Как правильно создать запрос в XSL FO?

1 Ответ

0 голосов
/ 07 августа 2020

Кажется, в вашем пути отсутствует последний шаг для выбора элементов с именем attribut:

xs:for-each select="artikeldaten/artikel/attribute/attribut"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...