xslt 스펙을 보면 캐릭터 맵이 전체 문서에 적용되는 것처럼 보입니다. 비트는 주어진 노드 나 템플릿에서 사용할 수 있습니까?주어진 노드에 문자표를 적용 할 수 있습니까?
예 : 노드에 조회 값이 포함되어 있지만 다른 템플릿에서 정규 표현식을 사용할 때 잘 재생되지 않는 문자가 포함될 수 있습니다. 지금은 대체 기능을 사용합니다. 그러나 몇 가지 문자를 읽거나 유지하기가 어려워졌습니다. 그래서 내가 이런 것을 가지고 있다면 :
<xsl:variable name="myLookup" select="
replace(
replace(
replace(
replace(
string-join(/*/lookup/*, '|'),
'\[','\\['),
'\]','\\]'),
'\(','\\('),
'\)','\\)')
"/>
다음과 같은 가상의 예제를 얻을 수있는 방법이 있습니까?
<xsl:character-map name="escapechar">
<xsl:output-character character="[" string="\[" />
<xsl:output-character character="]" string="\]" />
<xsl:output-character character="(" string="\(" />
<xsl:output-character character=")" string="\)" />
</xsl:character-map>
<xsl:variable name="myLookup" select="string-join(/*/lookup/*, '|')" use-character-map="escapechar"/>
저는 이것이 전혀 작동하지 않는다는 것을 알고 있습니다. 제 요청을 조금 비주얼하게 만드는 것입니다.
아이디어가 있으십니까?