2011-12-26 52 views
0

从在XLS文件中添加参数的Java项目打印PDF文件时遇到问题。该项目读取XML文件,然后他从XSL样式表生成一个PDF文件。请参阅下面的文件内容。
正如您在XLS文件中看到的,我想在“studentNumber”中指定,但问题在于指定的“studentNumber”需要在Java项目中设置。我尝试了很多东西并在互联网上搜索,但我找不到答案。 任何想法,我想改变,使这个项目正确。XSL文件中的Java setParameter

XML文件:

<?xml version="1.0" encoding="ISO-8859-1"?> 
<?xml-stylesheet type="text/xsl" href="studentResultXLS.xsl"?> 
<cursus> 
    <enroll> 
     <studentnumber>s484766</studentnumber> 
     <cursuscode>ISDTCEX.B627</cursuscode> 
     <enrolldate dateformat="eejjmmdd">20111121</enrolldate> 
     <acquire>ja</acquire> 
     <grade>4</grade> 
     <result></result> 
    </enroll> 
    <enroll> 
     <studentnumber>s484766</studentnumber> 
     <cursuscode>ISDTSIP.T470</cursuscode> 
     <enrolldate dateformat="eejjmmdd">20111116</enrolldate> 
     <acquire>ja</acquire><grade>2</grade> 
     <result></result> 
    </enroll> 
    <enroll> 
     <studentnumber>s484767</studentnumber> 
     <cursuscode>ISDTSIP.T470</cursuscode> 
     <enrolldate dateformat="eejjmmdd">20111116</enrolldate> 
     <acquire>ja</acquire><grade>2</grade> 
     <result></result> 
    </enroll> 

</cursus> 

XLS文件:

<xsl:param name="studentnumber"/>..... 

<fo:table-body> 
    <xsl:for-each select="/cursus/enroll[studentnumber='s484766']"> 
     <fo:table-row> 

      <fo:table-cell> 
       <fo:block> <xsl:value-of select="studentnumber"/> </fo:block> 
      </fo:table-cell> 

       <fo:table-cell> 
        <fo:block> <xsl:value-of select="cursuscode"/> </fo:block> 
       </fo:table-cell> 
      </fo:table-row> 
    </xsl:for-each> 
    </fo:table-body> 

Java代码:

transformer.setParameter("studentnumber", "s484766"); 

回答

2

对于读取参数值,你需要一个$标志前缀是:

<xsl:value-of select="$studentnumber"/> 
+1

THX,溶液的确是$符号: 我已经使用后续代码在XLS文件工作正确: <的xsl:for-每个选择=“/ cursusinschrijvingen/inschrijving [studentnummer = $ studentnummer] “> – Robert 2011-12-26 12:52:05