から「章」または「グループ」を作成:私はには、このXMLファイルを前処理していますXSLは、私は、一般的に次のような構造を持つ大規模なXMLコーパスの文書持つ類似したタグ付きエントリ
<corpus>
<document n="001">
<front>
<title>foo title</title>
<group n="foo_group_A"/>
<front>
<body>
<seg n="1">some text with markups</seg>
<seg n="2">some text with markups</seg>
<seg n="3">some text with markups</seg>
</body>
</document>
<document n=002">
<front>
<title>foo title</title>
<group n="foo_group_A"/>
<front>
<body>
<seg n="1">some text with markups</seg>
<seg n="2">some text with markups</seg>
</body>
</document>
<document n="003">
<front>
<title>foo title</title>
<group n="foo_group_A"/>
<front>
<body>
<seg n="1">some text with markups</seg>
<seg n="2">some text with markups</seg>
<seg n="3">some text with markups</seg>
</body>
</document>
<document n="004">
<front>
<title>foo title</title>
<group n="foo_group_B"/>
<front>
<body>
<seg n="1">some text with markups</seg>
</body>
</document>
<document n="005">
<front>
<title>foo title</title>
<group n="foo_group_B"/>
<front>
<body>
<seg n="1">some text with markups</seg>
<seg n="2">some text with markups</seg>
</body>
</document>
[...]
</corpus>
を最終的にPDFに出力する前に、XSL 3.0 を使用した別の形式のXML変換の一環として、<document>
の<chapter>
要素に、front/group/@n
の値を反映させて「ラップ」したいと思います。新しいコーパスはgroup/@n
値が新しいchapter
の下にグループ化するためのロジックを提供する場合、次のようになります。
<corpus>
<chapter n="foo_group_A">
<document n="001">
<front>
<title>foo title</title>
<front>
<body>
<seg n="1">some text with markups</seg>
<seg n="2">some text with markups</seg>
<seg n="3">some text with markups</seg>
</body>
</document>
<document n=002">
<front>
<title>foo title</title>
<front>
<body>
<seg n="1">some text with markups</seg>
<seg n="2">some text with markups</seg>
</body>
</document>
<document n="003">
<front>
<title>foo title</title>
<front>
<body>
<seg n="1">some text with markups</seg>
<seg n="2">some text with markups</seg>
<seg n="3">some text with markups</seg>
</body>
</document>
</chapter>
<chapter n="foo_group_B">
<document n="004">
<front>
<title>foo title</title>
<front>
<body>
<seg n="1">some text with markups</seg>
</body>
</document>
<document n="005">
<front>
<title>foo title</title>
<front>
<body>
<seg n="1">some text with markups</seg>
<seg n="2">some text with markups</seg>
</body>
</document>
</chapter>
[...]
</corpus>
ファイルがすでになど事前ソートfoo_group_A、foo_group_B、ですので、余分なソートは必要ありません。関連する文書を含めるには、新しい要素<chapter>
を作成するだけです。私はxsl:for-each
でこれを試しましたが、私は、いくつかの種類の 'サマリー'または反復するグループの 'コレクション'がないと思います。
事前に感謝します。