2012-07-21 2 views
1

node_xslt 모듈을 통해 nodejs에서 EXSLT 노드 집합 기능을 사용하려고합니다. 이것은 얻을 수있는대로 EXSLT를 지원하는 libxslt 라이브러리에 대한 간단한 래퍼입니다. 그러나 exsl : node-set에 대한 참조는 모두 입니다. 어떻게 사용합니까?nodejs/node_xslt에서 exsl : node-set을 사용하는 방법?

xmlXPathCompOpEval : 함수 노드 집합없는 XPath는 오류 : 미등록 기능 런타임 에러 :

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

<xsl:variable name="variable"> 
    <item /> 
    <item /> 
</xsl:variable> 

    <xsl:variable name="result" select="exsl:node-set($variable)"/> 

상관이 오류 인 파일 ./JayDataContextGenerator_OData_V2.xslt 라인 58 요소 - 각각 실패 '선택'표현을 평가하십시오.

UPDATE : node_xslt 플러그인 작성자가 github에서 프로젝트를 업데이트 했으므로 위에서 언급 한 변환이 더 이상 고민하지 않고 실행됩니다.

+1

이것은 nodejs에서 사용하는 XSLT 프로세서가 * EXSLT를 지원하지 않는다는 것을 의미합니다. 당신은 다른 EXSLT 함수를 사용해 볼 수 있습니다. 아무 것도 "작동하지 않는다"면 위의 추측을 확인합니다. –

답변

2

마지막 xsltproc.c 검사를 파악, 내가 정상에

을 node_xslt.c 다음 추가를 추가했다 : 기능으로,

#include <libexslt/exslt.h> 
#include <libexslt/exsltconfig.h> 

을 138 행으로

을 (변환)
exsltRegisterAll(); 

WScript와는 확장 그래서 :

obj.lib = ['xml2', 'xslt', 'exslt'] 
노드 집합() 매력처럼 작동합니다

그때 나는이 exsl 후

node-waf build 

와 node_xslt 다시했다.

관련 문제