XSLT/JAVA : 오류 : '외부 방법'MAX '(공개되어야 함)를 찾을 수 없습니다.'

StackOverflow https://stackoverflow.com/questions/643659

문제

나는 예제를 복사하고 있습니다 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)"/>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top