2

次のように、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 内の正規表現の一致ごとにこれを行います。残念ながら、これまでのところ私はそれを達成することができませんでした。

それをすべて結び付ける方法について、誰かが洞察を与えることができますか?

4

1 に答える 1