我有一个用例将 xml 文档中的 camelCase 元素转换为 NewCase,如下所示:
当前的:
<firstName>John</firstName>
<lastName>Smith</lastName>
<userId>5692</userId>
期望:
<FirstName>John</FirstName>
<LastName>Smith</LastName>
<UserId>5692</UserId>
我必须通过 XSLT 促进这一点。为了做到这一点,我确定了一个正则表达式,可以根据我的要求捕获 camelCase:
\b([a-z])([a-z]*[A-Z][a-z]*)\b
从那里,我一直在尝试通过 XSLT2.0 使用替换功能来做到这一点:
replace($xmlToParse,"\b([a-z])([a-z]*[A-Z][a-z]*)\b","REPLACED")
对于最后一个块,我想取匹配的正则表达式的第一段(在小写的情况下,段将是基于上述正则表达式的“l”和“大写”),并使用大写函数来更改第一段/大写字母(因此 lowerCase 将是 LowerCase),并对 XML 中的每个正则表达式匹配执行此操作。不幸的是,到目前为止,我一直无法实现它。
任何人都可以就如何将它们联系在一起提供任何见解吗?