노드

2014-06-16 4 views
0

에서 텍스트를 제거하는 방법은 <h2>This is a <a href="....">nice</a> text (12.4)</h2>을 포함하는 노드를하고 난 괄호 사이의 물건을 제거하고 템플릿을 적용 할 :노드

<xsl:apply-templates select="."/>

(점 노드를 가지고와 난을 유지하려면 <a>,하지만 다른 템플릿을 사용하면 가능합니다.)

select 속성에서 어떻게 할 수 있습니까?

<xsl:apply-templates select="replace(. , '\([0-9\.]*\)', '')"/> 노드가 문자열이 아니기 때문에 작동하지 않습니다.

답변

0

당신이 당신의 텍스트 노드가 적용되는 템플릿을 사용하여 처리되고 있는지 확인해야하지만, 당신이 ID를 사용하여 충분히 예를 봤어야

물론 <xsl:template match="text()"><xsl:value-of select="replace(. , '\([0-9\.]*\)', '')"/></xsl:template>

예를 들어, 텍스트 노드의 기능을 사용하여 변형 템플릿 및 그 우선 적용을 이해할 수 있습니다.

그리고 필요한 경우 일치 패턴을 필요한 경우 구체화 할 수 있습니다 (예 : match="h2//text()").