2008-10-23 2 views
2

스타일 시트에서 EXSLT - DYN : EVALUATE를 사용하고 싶습니다. 속도를 추가했지만 가져올 .xsl 파일의 위치를 ​​알 수 없습니다. 가져 오기를 가리 키기 위해 XALAN이 설치되어 있다고 생각하지 않습니다. 어떻게 설치합니까? 일단 설치하고 .xsl을 가리키면 함수를 선택하여 적용할까요? Windows가 실행 중입니다. XSLT 파일은 XML 문서 맨 위에 포함되어 있습니다.XSLT Xalan dyn : 평가 예제

감사

피트

답변

6

의 Xalan은 EXSL의 DYN 있습니다 기능을 내장, 당신이 그것을 사용하기 위해 아무것도 가져올 필요가 없습니다 평가합니다. 네임 스페이스를 선언하면됩니다.

xalan.exe -p path '/root/foo' input.xml dyn_evaluate.xsl 

을 제공

<xsl:stylesheet version="1.0" 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    xmlns:dyn="http://exslt.org/dynamic" 
    extension-element-prefixes="dyn"> 

    <xsl:param name="path"/> 

    <xsl:output method="text"/> 

    <xsl:template match="/"> 
    <xsl:value-of select="dyn:evaluate($path)"/> 
    </xsl:template> 

</xsl:stylesheet> 

실행 :

input.xml :

<root> 
<foo>I am foo</foo>  
<bar>I am bar</bar>  
</root> 

dyn_evaluate.xsl 나는 작은 예를주지

I am foo 

는 실행

xalan.exe -p 경로 dyn_evaluate.xsl

input.xml '/ 루트/바'이 도움이

I am bar 

희망을 제공합니다.

+0

나는 이것이 고대의 스레드라는 것을 알고 있지만'javax.xml.transform.TransformerFactory'를 사용하여 XSLT 프로세서를 추상화하면'dyn : evaluate'은 기본'TransformerFactory' 구현으로 실패합니다 JDK와 함께 제공됩니다. 이것은 JDK 구현이 인터프리터가 아니라 Xalan XSLTC 컴파일러이기 때문에 'dyn : evaluate'이 인식 되더라도 처리 할 수 ​​없기 때문입니다. –

0

JSP 페이지에서 어떻게 호출할까요? JSP는 XML을 제공하고 현재 스타일 시트를 XML 페이지에 첨부하고 그 결과를 서버에 저장합니다.

0

스타일 시트가 첨부 된 XML 페이지로 클라이언트를 제공하면이 기능이 작동하지 않을 수 있기 때문에 그렇게 할 수 없습니다. 브라우저는 exslt를 지원하지 않습니다.

그러나 xalan을 사용하여 서버에서 XSLT 처리를 수행하면 제대로 작동하지만 xslt와 jsp를 어떻게 결합하는지 이해할 수 없습니다.