次のように、xml ドキュメント内の camelCase 要素を NewCase に変換するユース ケースがあります。
現時点の:
<firstName>John</firstName>
<lastName>Smith</lastName>
<userId>5692</userId>
希望:
<FirstName>John</FirstName>
<LastName>Smith</LastName>
<UserId>5692</UserId>
XSLT を使用してこれを容易にする必要があります。これを行うために、要件に合わせてキャメルケースをキャプチャする正規表現を特定しました。
\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' と 'owercase' になります)、大文字関数を使用してその最初のセグメントを変更します/文字を大文字に変換し (したがって、小文字は小文字になります)、XML 内の正規表現の一致ごとにこれを行います。残念ながら、これまでのところ私はそれを達成することができませんでした。
それをすべて結び付ける方法について、誰かが洞察を与えることができますか?