根据另一个变量的值在XSLT中创建变量

时间:2020-06-10 16:01:49

标签: xml xslt xslt-1.0

我需要做的是基于已定义变量的值创建不同的变量(变量名称)。因为我是XSLT的初学者,所以我不太确定该怎么做。基本的想法是拥有类似的东西

foo已定义,可以具有值1或2或4

if (foo == 1):
    a = 1
elif (foo == 2):
    b = 1
elif (foo == 4):
    c = 1

为什么我需要创建其他变量,是因为这些变量将用作pystache从胡须模板生成文件的条件。

我为xsl找到的所有资源都是如何使用select语法分配不同的值,而不是如何有条件地创建不同的变量。 XML版本是1.0。

在此先感谢您的帮助

1 个答案:

答案 0 :(得分:1)

您可以使用与func appAppearanceConfig(){ NotificationCenter.default .addObserver(forName: UIAccessibility.invertColorsStatusDidChangeNotification, object: nil, queue: OperationQueue.main) {_ in if UIAccessibility.isInvertColorsEnabled { UIView.appearance().accessibilityIgnoresInvertColors = true } } } true的简单比较,该比较将通过false函数转换为10

number()

此示例的输出是

a = 0; b = 1 c = 0

它不完全是IF-THEN-ELSE构造,但是您没有在示例中指定默认值。如果您需要更复杂的方法,则可以回到针对每个变量<xsl:variable name="foo" select="2"/> <xsl:variable name="a" select="number($foo = 1)"/> <xsl:variable name="b" select="number($foo = 2)"/> <xsl:variable name="c" select="number($foo = 4)"/> <xsl:value-of select="concat('a=',$a,'; b=',$b,' c=',$c)"/> xsl:choosea提到的b方法。