2008-09-16 4 views
4

사용자 정의 XPath 함수를 만들 때 현재 XML 데이터를 가져 오는 방법이 있습니다 (여기 참조).사용자 정의 XPath 함수에서 XML 데이터 가져 오기

XPathContext에 액세스 할 수 있다는 것을 알고 있지만 충분합니까?

예 :

우리의 XML :

<foo> 
    <bar>smang</bar> 
    <fizz>buzz</fizz> 
</foo> 

우리의 XSL : 우리는 전체 XML 트리를 얻는 방법

<xsl:template match="/"> 
    <xsl:value-of select="ourFunction()" /> 
</xsl:template> 

?

편집 : 명확한 설명 : 정적 Java 코드 실행을 끝내는 사용자 지정 함수를 만듭니다 (Saxon 기능). 따라서이 Java 코드에서 bar 및 fizz와 같은 XML 트리 및 smang 및 buzz와 같은 해당 요소를 가져올 수 있기를 바랍니다.

답변

1

'ourFunction (/)'을 호출하도록 XSL을 변경해보십시오. 그것은 루트 노드를 함수에 전달해야합니다. 시도해 볼 수도 있습니다. 또는 ..

아마도 구현 기능의 서명을 변경해야 할 것입니다. 다른 사람에게 도움을 제공 할 것입니다.

1

현재 노드를 선택하십시오. 현재 노드의 관련 데이터를 XSL 매개 변수로 선택하고 해당 매개 변수를 함수에 전달합니까? Like :

<xsl:value-of select="ourFunction($data)" /> 
관련 문제