Java setParameter в файле XSL - PullRequest
       0

Java setParameter в файле XSL

0 голосов
/ 26 декабря 2011

У меня проблема с печатью PDF-файла из проекта Java, который добавляет параметры в XLS-файл.Проект читает файл XML, затем он генерирует файл PDF из таблицы стилей XSL.См. Ниже содержимое файлов.
Как вы видите в файле XLS, который я хочу указать в «studentNumber», но проблема в том, что указанное «studentNumber» необходимо установить в проекте Java.Я много чего перепробовал и искал в интернете, но не могу найти ответ.Любая идея, которую я хочу изменить, чтобы сделать этот проект правильным.

Файл 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");

1 Ответ

2 голосов
/ 26 декабря 2011

Для считывания значения параметра необходимо поставить префикс со знаком $:

<xsl:value-of select="$studentnumber"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...