在XSL-FO(可扩展样式表语言-格式化对象)中,retrieve-marker 是用于检索页面母版中的标记(marker)的元素。标记通常包含在 fo:marker 元素中,而 retrieve-marker 元素用于在文档中的某个位置检索这些标记并插入到文档流中。

以下是一个简单的例子,演示如何在XSL-FO中使用 retrieve-marker:
<fo:layout-master-set>
  <fo:simple-page-master master-name="my-page" page-height="11in" page-width="8.5in">
    <fo:region-body margin="1in"/>
    <fo:region-before extent="1in"/>
  </fo:simple-page-master>
</fo:layout-master-set>

<fo:page-sequence master-reference="my-page">
  <fo:static-content flow-name="xsl-region-before">
    <!-- 定义标记内容 -->
    <fo:block-container>
      <fo:block>My Header</fo:block>
    </fo:block-container>
  </fo:static-content>

  <fo:flow flow-name="xsl-region-body">
    <!-- 在这里放置文档的主要内容 -->
    <fo:block>
      <!-- 使用 retrieve-marker 检索标记并插入 -->
      <fo:retrieve-marker retrieve-class-name="header" retrieve-position="first-starting-within-page"/>
    </fo:block>
  </fo:flow>
</fo:page-sequence>

在上述例子中,fo:retrieve-marker 元素被放置在文档流中,通过 retrieve-class-name 属性指定要检索的标记的类别,并通过 retrieve-position 属性指定插入标记的位置。在这个例子中,retrieve-position 设置为 first-starting-within-page 表示在每页的开头插入检索到的标记。

请注意,标记的具体定义通常在 fo:marker 中完成。在这个例子中,标记内容在 fo:static-content 中定义,但它也可以在其他位置定义。




转载请注明出处:http://www.pingtaimeng.com/article/detail/12352/XML