Altova XML Spy에서 실행될 때 xslt 변형이 있지만 saxon9he.jar에서는 오류가 발생합니다. 코드 단편과 saxon 오류 메시지는 아래를 참조하십시오.saxon에서 실행할 xsl의 인라인 자바 스크립트를 지정하는 방법
saxon을 xslt 프로세서로 사용하려면이 작업을 다르게 수행해야합니까?
<xsl:stylesheet
version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:fn="http://www.w3.org/2005/xpath-functions"
xmlns:custom="urn:schemas-microsoft-com:xslt"
xmlns:js="urn:custom-javascript"
exclude-result-prefixes="custom js">
<custom:script language="Javascript" implements-prefix="js">
<![CDATA[
function mergeStrings (string1, string2) {
... java code ...
}
]]>
</custom:script>
사용자 정의 스크립트는 같은 XPath 표현식에서 호출되는 다음
<xsl:value-of select="js:mergeStrings(str1, str2)" disable-output-escaping="yes"/>
내가 사용하는 색슨 호출은 다음과 같다 : 비슷한 메시지와 함께
java -jar C:\saxon9he.jar -s:C:\src.xml -xsl:C:\transform.xslt -o:C:\out.html
로 색슨 족이 지금 오류 다음에 :
Error at xsl:value-of on line 775 column 105 of transform.xslt:
XPST0017: XPath syntax error at char 43 on line 775 in {...gs(str1, str2...}:
Cannot find a matching 2-argument function named {urn:custom-javascript}mergeStrings()
명확한 대답 - saxonica 문서 페이지에 언급 된 "통합 확장 기능"기능을 사용하는 saxon 내에서 모든 작업을 수행하려면 여기에 더 많은 노력을 기울여야합니다 ... – Maestro13
솔직히 XSLT 및 XPath 2.0과 ECMAScript/Javascript의 기능 비교 왜 확장 기능에 의존하지 않고'mergeStrings'을'xsl : function'으로 구현할 수 없는지 궁금합니다. 그러나 우리는 기능 코드의 세부 사항을 보거나 명확한 요구 사항 설명을 볼 필요가 있습니다. 모든 사항은 별도의 게시물에서 수행됩니다. –