Labeled Section Transclusion(ラベル付き段落の参照読み込み)

Wikisourceでは、テンプレート機能とは別に、文書の一部を他の文書へ呼び出すことができます。これは、「Labeled Section Transclusion」(ラベル付き段落の参照読み込み)という拡張機能により、実装されました[1]。現在この機能は、Wikisourceでのみ使用可能となっています[2]

呼び出す範囲を指定する

編集

範囲を指定するために、<section>という空要素タグを使用します。このタグには、「begin」と「end」という属性が存在します。属性値には呼び出す際に参照されるIDが入ります。

定型文
<section begin="「ID」"/>「呼び出す文章」<section end="「ID」"/>
入力
<section begin="chapter1"/>chapter1の文章です。<section end="chapter1"/>
出力
chapter1の文章です。

指定した範囲を呼び出す

編集

以上のように指定した範囲は、{{#section:|}}又は{{#lst:|}}という関数を用いて呼び出すことができます。

定型文
{{#section:「呼び出す範囲があるページの名称」|「sectionタグのbegin及びendの属性値」}}
例(上記のchapter1を呼び出します。)
入力
{{#section:ヘルプ:Labeled Section Transclusion|chapter1}}
出力
chapter1の文章です。

また、ページ内で複数範囲指定をしている場合、開始から終了までを一括して呼び出すことができます。この機能を使うと、開始範囲と終了範囲の間の文章も一括して呼び出すことができます。

定型文
{{#section:「呼び出す範囲があるページ名」|「開始するsectionタグのbegin及びendの属性値」|「終了するsectionタグのbegin及びendの属性値」}}
例(例題スペースを用います。)
入力
{{#section:ヘルプ:Labeled Section Transclusion|chapter2|chapter3}}
出力
chapter2の文章です。
chapter2とchapter3の間の文章です。
chapter3の文章です。


脚注

編集
  1. bugzilla:5881
  2. bugzilla:7995

指定した範囲外を呼び出す

編集

{{#section-x:|}}又は{{#lstx:|}}という関数を用いることで、指定した範囲以外を呼び出すことができます。

定型文
{{#section:「呼び出す範囲があるページの名称」|「呼び出さないsectionタグのbegin及びendの属性値」}}

また、以上の方法を用いて呼び出さなかった範囲を別の文章に置き換えることもできます。

定型文
{{#section:「呼び出す範囲があるページの名称」|「呼び出さないsectionタグのbegin及びendの属性値」|「置き換える文章」}}

章単位で呼び出す

編集

この機能では、別に機能をインストールすることで、指定した範囲以外に、章単位で文章を呼び出すこともできます。使用するには{{#section-h:|}}又は{{#lsth:|}}という関数を用います。現在、Wikisource日本語版では対応していません。

その他

編集

テンプレート機能と同様に、{{subst:#lst:~|~}}等関数の最初にsubst:と入力することで、呼び出された文章をそのままページ内にコピーすることができます。

このページのように、同じページにある範囲を呼び出す場合、投稿する一つ前の版から呼び出されるため、一度編集しないと反映されないおそれがあります。テンプレート機能と同様に、あくまで他のページの文章を呼び出すのを主旨としているため、同一のページ内で使用する場合は注意が必要です。

例題スペース

編集

入力

編集


<section begin="chapter2"/>
<span class="mw-poem-indented" style="display: inline-block; margin-inline-start: 2em;">chapter2の文章です。</span>
<section end="chapter2"/>
<span class="mw-poem-indented" style="display: inline-block; margin-inline-start: 2em;">chapter2とchapter3の間の文章です。</span>
<section begin="chapter2"/>
<span class="mw-poem-indented" style="display: inline-block; margin-inline-start: 2em;">chapter3の文章です。</span>
<section end="chapter2"/>

出力

編集
chapter2の文章です。
chapter2とchapter3の間の文章です。
chapter3の文章です。


脚注

編集