第3章 WordprocessingML

header/footer

ヘッダー・フッターパーツの構造

Wordで作成したWordprocessingML文書のメイン文書パーツと同じフォルダには、headern.xml(nは1以上の自然数)とfootern.xmlというファイルがあります。このxmlファイルはヘッダー・フッターのパーツです。

ヘッダー挿入前の文書
ヘッダー挿入前の文書
ヘッダー挿入後の文書
ヘッダー挿入後の文書

Wordで文書にヘッダー・フッターを挿入すると、パッケージにはヘッダー・フッターのパーツが追加されます。

挿入前のパッケージ
挿入前のパッケージ
挿入後のパッケージ
挿入後のパッケージ

このパーツの内容は、hdr要素、ftr要素をルートに、p要素などの段落が列挙された単純な構造です。

header1.xml
<w:hdr 
                     
 ...
 xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
 xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
 ...>
  <w:p w:rsidR="00AA1868" w:rsidRPr="00AA1868" w:rsidRDefault="00AA1868">
    <w:pPr>
      <w:pStyle w:val="a3"/>
      <w:rPr>
        <w:b/>
        <w:sz w:val="32"/>
        <w:szCs w:val="32"/>
      </w:rPr>
    </w:pPr>
    <w:r w:rsidRPr="00AA1868">
      <w:rPr>
        <w:rFonts w:hint="eastAsia"/>
        <w:b/>
        <w:sz w:val="32"/>
        <w:szCs w:val="32"/>
      </w:rPr>
      <w:t>回覧</w:t>
    </w:r>
  </w:p>
</w:hdr>

WordprocessingMLではヘッダー、フッターは出力されるページの種類によって3種類に分けられています。その種類は、先頭ページのみのヘッダー・フッター、もしくは偶数ページ・奇数ページのヘッダー・フッターです。この先頭ページ・偶数ページ・奇数ページそれぞれのヘッダーやフッターが別ファイルに出力され、header1.xml、header2.xml、header3.xml、footer1.xml、footer2.xml、footer3.xmlのようにナンバリングされたファイル名が使われます。

このファイル名に付けられた番号とページの種類は必ずしも一致しません。つまり、header1.xml=先頭ページのヘッダーではないということです。どのファイルがどの種類なのかは、header1.xmlファイルの内容によって判別ができます。

header1.xml
<w:hdr w:type="even">
  <w:p w:rsidR="00C703AC" w:rsidRDefault="00C703AC">
    <w:pPr>
      <w:pStyle w:val="Header"/>
    </w:pPr>
  </w:p>
</w:hdr>

hdr要素のtype属性の値がページの種類となります。

type属性値の種類
ヘッダーの種類 type属性値
先頭ページのみのヘッダー first
偶数ページのヘッダー even
奇数ページのヘッダー odd

メイン文書からの参照

メイン文書パーツのセクション(sectPr)にはヘッダー・フッターへの参照としてheaderReferenceおよびfooterReference要素があります。この要素はid属性を持ち、このid属性値と関連付け(word/_rels/ document.xml.rels)ファイルの内容を結び付けることでヘッダー・フッターを参照します。

メイン文書パーツ(document.xml)のsectPr要素の内容
<w:headerReference r:id="rId6"/>
<w:footerReference r:id="rId8"/>
                       
word/_rels/document.xml.relsの内容

<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
   <Relationship Id="rId8"
      Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer"
      Target="footer1.xml"/>
  <Relationship Id="rId6"
      Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/header"
      Target="header1.xml"/>
</Relationships>

ヘッダーの場合、headerReferenceのid属性値(rId6)と同じ値を持ち、タイプ定義がヘッダーであるRelationship要素がヘッダーパーツを示します。そのTarget属性の値が参照するヘッダーパーツのファイル名ということになります。この場合、Targetのパスはdocument.xmlを基準とした相対パスで示されます。フッターの場合も同様です。