XSLT 1.0 - 如何对字符串进行条件检查

7 浏览
0 Comments

XSLT 1.0 - 如何对字符串进行条件检查

我正在尝试对输入的xml文件进行条件检查并进行数值设定。\n输入的xml文件如下:\n


    1

\n如果newwo的值为1,我需要在输出中设置为\"NEW\",否则为\"OLD\"。\n期望的输出为:\n

newwo: "NEW"

\n我的xslt代码如下:\n\n\n \n\n\n {\n newwo:\"\n \n \n NEW\n OLD\n \n \"\n }\n\n\n请帮忙,谢谢!

0
0 Comments

XSLT 1.0是一种用于将XML文档转换为其他格式的语言。在使用XSLT 1.0时,有时会遇到需要根据条件对字符串进行检查的情况。下面是一个使用XSLT 1.0的示例代码,该代码用于根据条件判断字符串的值,并输出相应的结果。



 
  
    
      newwo:New
    
    
      newwo:Old
    
  
 

这段代码中,使用了``元素来实现条件判断。在``元素中,通过`test`属性来指定条件表达式,即`/workorder/newwo = 1`。如果条件成立,将输出字符串"newwo:New";否则,将输出字符串"newwo:Old"。

然而,有时候在使用XSLT 1.0时,可能会遇到无法正确判断条件的问题。这可能是由于条件表达式编写错误或条件判断机制的不兼容性导致的。为了解决这个问题,可以尝试以下几种方法:

1. 检查条件表达式:确保条件表达式中的路径和比较符号正确,并且与XML文档中的元素名称和属性名称一致。

2. 使用XPath函数:尝试使用XPath函数来处理条件判断。例如,可以使用`string()`函数来将节点的值转换为字符串,然后再进行比较。

3. 升级到XSLT 2.0或更高版本:如果可能的话,可以考虑升级到XSLT 2.0或更高版本。XSLT 2.0提供了更强大和灵活的条件判断功能,可以更容易地处理字符串比较等操作。

通过检查条件表达式、使用XPath函数或升级到XSLT 2.0,可以解决在XSLT 1.0中检查字符串条件的问题。这样,就能够正确判断条件,并根据条件的结果输出相应的字符串。

0
0 Comments

XSLT 1.0 - 如何检查字符串的条件

你没有得到输出的原因有很多。以下是一些可能的原因以及解决方法:

1. XPath区分大小写。"NEWWO"不会与"newwo"匹配。需要将大小写匹配一致。

2. 你匹配了"/",然后在其中应用模板到"newwo"(大小写已修正),但是在该上下文中"newwo"并不存在。你需要在apply-templates中添加"*/"或者"workorder/"(例如"select="*/newwo")或者将匹配的"/"改为"/*"或"/workorder"。

3. 你匹配了"/newwo"(大小写已修正),但是"newwo"不是根元素。需要移除"/"。

4. 你进行了以下测试:"test="newwo != '0'",但是"newwo"已经是当前上下文了。你应该使用"."或者"normalize-space()"来代替。(如果使用"normalize-space()",确保对字符串进行测试(引用"1"))。

下面是一个更新后的示例:

XML输入:


    1

XSLT 1.0:

{ newwo: "

NEW

OLD

" }

输出:

{
newwo: "NEW"
}

非常感谢你的帮助 🙂

0