XSLT/JAVA : 오류 : '외부 방법'MAX '(공개되어야 함)를 찾을 수 없습니다.'
문제
나는 예제를 복사하고 있습니다 XSLT 요리 책 : 2 판 (O'Reilly : Mangano, 2006) Mangano가 SVG와 함께 트리 다이어그램을 만듭니다. 이 코드를 신속하게 테스트하는 방법으로 JSTL을 사용하여 XML을 단순히 변환하고 있습니다. <x:transform/>
태그를 지정하고 부두로 실행 6. XSLT는 전화에 매달려있는 것 같습니다. java:java.lang.Math:max
, 말 :
오류 : '외부 방법'max '를 찾을 수 없습니다 (공개되어야합니다). 치명적인 오류 : '스타일 시트를 컴파일 할 수 없습니다'
나에게 오류를주는 코드는 여기에 여기에 포함되어 있습니다. ...Math:max(...
불러옵니다 :
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.1"
xmlns:emath="http://www.exslt.org/math"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:tree="http://www.ora.com/XSLTCookboox/ns/tree"
xmlns:xalan="http://xml.apache.org/xslt"
xmlns:Math="xalan:java.lang.Math">
...
<!--Pass 1 copies input with added bookkeeping attributes -->
<xsl:variable name="treeWithLayout">
<xsl:apply-templates mode="layout"/>
</xsl:variable>
<xsl:variable name="maxPos"
select="Math:max($treeWithLayout/*/@tree:WEIGHT *
($nodeWidth + $horzSpace),
$treeWithLayout/*/@tree:MAXDEPTH *
($nodeHeight + $vertSpace))"/>
...
해결책
나는 이것을 찾았다 온라인 사용:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:math="xalan://java.lang.Math"
extension-element-prefixes="math">
다른 팁
누락 된 인수가 있으면이 메시지를받을 수 있습니다. 예를 들어:
당신은 쓰기
<xsl:variable name="maxPos" select="Math:max(9)"/>
대신에
<xsl:variable name="maxPos" select="Math:max(9, 15)"/>
제휴하지 않습니다 StackOverflow