小编dce*_*dce的帖子

使用XSLT创建带有嵌套粗体/斜体标签的XSL-FO

我正在创建xslt文件,它应该将我的xml转换为xsl-fo.

XML就是这样的:

<doc>
  <par>
    <point>
      <text>some text</text>
    </point>
  </par>
</doc>
Run Code Online (Sandbox Code Playgroud)

当然,文件中有许多段落和要点.例如,我想增加格式化"某些文本"的可能性

<bold>bolded text</bold> and <italic>italic</italic>
Run Code Online (Sandbox Code Playgroud)

应该给

<fo:block><fo:inline font-weight="bold">bolded text</fo:inline> and <fo:inline font-style="italic">italic</fo:inline>
Run Code Online (Sandbox Code Playgroud)

现在我有一个非常简单的xslt文档,如下所示:

<xsl:stylesheet version="1.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" exclude-result-prefixes="fo">
  <xsl:output method="xml" version="1.0" omit-xml-declaration="no" indent="yes"/>
  <xsl:param name="versionParam" select="'1.0'"/> 
  <xsl:template match="doc">
    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
      <fo:layout-master-set>
        <fo:simple-page-master master-name="simpleA4" page-height="29.7cm" page-width="21cm" margin-top="2cm" margin-bottom="2cm" margin-left="2cm" margin-right="2cm">
          <fo:region-body margin="2cm"/>
          <fo:region-before margin="0.2cm" extent="1.5cm"/>
        </fo:simple-page-master>
      </fo:layout-master-set>
      <fo:page-sequence master-reference="simpleA4">
        <fo:static-content flow-name="xsl-region-before"  margin-right="1cm"> 
            <fo:block text-align="start" margin-top="0.2cm">
            <fo:block text-align="end" margin-top="0.2cm">
                Page <fo:page-number/> of <fo:page-number-citation ref-id="terminator"/>
            </fo:block>
        </fo:static-content>
        <fo:flow flow-name="xsl-region-body">
          <xsl:apply-templates select="par/point"/>
          <fo:block id="terminator"/> …
Run Code Online (Sandbox Code Playgroud)

xml xslt xsl-fo

8
推荐指数
1
解决办法
3万
查看次数

标签 统计

xml ×1

xsl-fo ×1

xslt ×1