2011-10-31 4 views
0

.NET 응용 프로그램에서 fop 1.0을 사용하고 있습니다. 중요xsl number() - 함수를 변환 할 수 없습니다.

Zeilennummer221; Spaltennummer267; #UNKNOWN (cli.System.Int32) kann nicht in eine Zahl 
konvertiert werden! 
(Position des Fehlers unbekannt)org.apache.fop.fo.ValidationException: "fo:root" 
is missing child elements. Required content model: (layout-master-set, declarations?, 
bookmark-tree?, (page-sequence|fox:external-document)+) (Keine Kontextinformationen 
verf³gbar) 

:

#UNKNOWN (cli.System.Int32) cannot be converted into an integer 

BTW : 문제는 기능 번호()가 실패한다는 것입니다

<?xml version="1.0" encoding="UTF-8" ?> 
<xsl:stylesheet ... version="1.0" ...> 
... 
<xsl:param name="fromPerson" select="'1'"/> 
<xsl:param name="toPerson" select="'1'"/> 
... 
<xsl:template match="*[local-name()='Person']"> 
    <xsl:if test="(position() &gt;= number($fromPerson))> 
    ... 
    </xsl:if> 
</xsl:template> 

처럼
내 스타일이 보인다 내가 밖으로 인쇄하여 그것을 테스트 값이 < xsl : 메시지>

왜 이것이 오류를 일으키는 지 알기 원하십니까?

답변

-1

<xsl:param>이 아닌 <xsl:variable>이 필요하다고 생각합니다. 매개 변수는 <xsl:template> 요소 (또는 <xsl:function> 요소의 XSLT 2) 하위 요소입니다.

+1

당신이 잘못 파람 외부 경우에서 XSLT로 전달 될 수있다. 여기에 최상위 요소로 지정됩니다. 이것은 xslt 1.0에서 가능합니다. 2.0. – FailedDev

+0

나는 그것을 몰랐고 #UNKNOWN은 param $ fromPerson과 반대되는 변수 $ fromPerson에 포함되어 있다고 생각했습니다. – Frank

관련 문제