XSLT 2.0を使用して、正規表現に基づいて一致する部分文字列を見つけています
私のXSLT関数は次のようになります
<xsl:function name="util:getSource">
<xsl:variable name="dynamic" select="'Allergy Adverse Event Type 2.16.840.1.113883.3.88.12.3221.6.2'"/>
<xsl:choose>
<xsl:when test="string-length($dynamic) > 1 and matches($dynamic,'[a-zA-Z\s]*')">
<xsl:analyze-string select="$dynamic" regex="[a-zA-Z\s]*">
<xsl:matching-substring>
<xsl:value-of select="."/>
</xsl:matching-substring>
</xsl:analyze-string>
</xsl:when>
</xsl:choose>
</xsl:function>
正規表現[a-zA-Z\s] *に基づいて、入力文字列「'Allergy Adverse EventType2.16.840.1.113883.3.88.12.3221.6.2'」から「AllergyAdverseEventType」を検索したいと思います。上記の関数を実行していると、常に「XTDE1150:正規表現が空の文字列と一致します」というメッセージが表示されます。正規表現の何が問題になっていますか。これについての提案をいただけますか。