XSLT: Как сделать 2 части в одной строке?

#java #xslt #freemarker #xsl-fo #ofbiz

#java #xslt #freemarker #xsl-fo #офбизнес

Вопрос:

Я использую Apache Ofbiz 13, FreeMarker, XSLT, PostgreSQL, JDK 7. Файл *.ftl для экспорта PDF-файла.

Я попытался сделать этот текст Một triệu, ba trăm hai mươi nghìn đồng chẵn. курсивом и в той же строке с. Tổng cộng: У меня есть часть файла supReturnPDFContent.fo.ftl (FreeMarker)

 <fo:table-row border="solid 0.2mm black">
    <fo:table-cell text-align="left" number-columns-spanned="6">
        <#assign totalDlvString = Static["com.olbius.baselogistics.util.LogisticsStringUtil"].ConvertDecimalToString(total)>
        <fo:block line-height="20px" font-weight="bold" margin-left="5px">${uiLabelMap.Summary}: </fo:block><fo:block font-style="italic">${totalDlvString?if_exists}</fo:block>
    </fo:table-cell>
    <fo:table-cell text-align="right" number-columns-spanned="1">
        <#if total?has_content amp;amp; total != 0>
            <fo:block line-height="20px" margin-right="2px" text-align="right" font-weight="bold" margin-left="5px">${Static["org.ofbiz.base.util.UtilFormatOut"].formatDecimalNumber(total?if_exists, "#,##0", locale)}</fo:block>
        <#else>
            <fo:block></fo:block>
        </#if>
    </fo:table-cell>
</fo:table-row>
 

Описание:
${uiLabelMap.Summary} = Tổng cộng

${totalDlvString?if_exists} == Một triệu, ba trăm hai mươi nghìn đồng chẵn.

Результат

введите описание изображения здесь

Я хочу, чтобы 2 части были встроены (в одну строку), как это сделать?

Я также пробовал это решение, но безуспешно:

 <fo:table-cell text-align="left" number-columns-spanned="6">
    <#assign totalDlvString = Static["com.olbius.baselogistics.util.LogisticsStringUtil"].ConvertDecimalToString(total)>
    <fo:block line-height="20px" margin-left="5px">
        <fo:block font-weight="bold">${uiLabelMap.Summary}: </fo:block>
        <fo:block font-style="italic">${totalDlvString?if_exists}</fo:block>
    </fo:block>
</fo:table-cell>
 

Ответ №1:

Используйте <fo:inline> в качестве альтернативы для <fo:block>

 <fo:table-cell text-align="left" number-columns-spanned="6">
    <#assign totalDlvString = Static["com.olbius.baselogistics.util.LogisticsStringUtil"].ConvertDecimalToString(total)>
    <fo:block line-height="20px" margin-left="5px">
        <fo:inline font-weight="bold">${uiLabelMap.Summary}: </fo:inline>
        <fo:inline font-style="italic">${totalDlvString?if_exists}</fo:inline>
    </fo:block>
</fo:table-cell>