2014-10-31 3 views
2

xml 파일에서 엔티티를 찾아야합니다. 이 엔티티는 십진수, 16 진수 또는 이름이 붙을 수 있습니다 (공통 또는 자체).가능한 모든 엔티티를 찾는 방법

test.xml의

<test>Hello&#44;&nbsp;world&#33;</test> 

내가 test1.xsl에게

<xsl:template match="//text()"> 
    <xsl:if test="matches(., '&amp;.*;')"> 
     <xsl:value-of select="."/> 
    </xsl:if> 
</xsl:template> 

또는 test2.xsl를 사용하려고

<xsl:template match="//text()"> 
    <xsl:variable name="ent"><![CDATA[&.*;]]></xsl:variable> 
    <xsl:if test="matches(., $ent)"> 
     <xsl:value-of select="."/> 
    </xsl:if> 
</xsl:template> 

하지만, 결과가 없습니다.

정규 표현식을 사용하여 엔티티를 찾는 방법이 있습니까?

어쩌면 matches(., _entities_)과 같은 것을 사용할 수있는 특수한 텍스트 유형이 있습니까?

답변

2

XSLT/XPath 데이터 모델에는 XSLT/XPath를 사용하는 유니 코드 문자 만있는 텍스트 노드가 있습니다. 트리로 구문 분석 된 문서의 어휘 마크 업에 유니 코드가 포함되었는지 문자 그대로 또는 문자 참조 또는 실체 참조로 사용됩니다. 따라서 XSLT는 http://andrewjwelch.com/lexev/과 같은 일부 전 처리기를 사용하지 않는 한 해당 도구가 아닙니다.

관련 문제