Danke. In OTOBO werden die boolschen Werte als Strings "0" und "1" ins XML geschrieben. Diese Werte kann man mit der XSLT Funktion
number() oder
boolean() auswerten. Die Ergebnisvariable hat dann den entsprechenden Typ. In der Folge kann man dann die einfachen Bedingungen auf die Variable anwenden.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xsl:output method="xml" encoding="utf-8" indent="yes"/>
<xsl:template match="/RootElement/Structure1">
<NewRootElement>
<xsl:for-each select="Array1">
<TrueOrNotTrueArray>
<!-- as="xs:integer" does not seem to cast to integer. So call number() explicitly -->
<xsl:variable name="my_int" select="number(.)"/>
<xsl:choose>
<xsl:when test="$my_int">
<xsl:text>⊨ TRUE:</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>⊭ NOT TRUE:</xsl:text>
</xsl:otherwise>
</xsl:choose>
<xsl:value-of select="$my_int" />
<xsl:text>,</xsl:text>
<xsl:value-of select="$my_int + 100" />
</TrueOrNotTrueArray>
</xsl:for-each>
</NewRootElement>
</xsl:template>
</xsl:stylesheet>