NewsMLでは、NewsItem,NewsComponent,ContentItemそれぞれを複数記述してニュースや素材を複合す ることができる。
複合の方法は次のタイプにわかれる
NewsML内でのNewsItem列挙
複数のNewsItem(ニュースやコンテンツ)を1つのNewsMLファイルに統合する場合に用いる。ただし、
それぞれのNewsItem同士の関連性などは表現ができない。
具体的には、記事の NewsItemと写真のNewsItemを1つのNewsMLに入れただけでは、関連素材と は見なされない。後述の他の方法を用いるか、関連性をもたせるためにはAssociatedWithなどの機能 を使う必要がある。AssociatedWithで関連を示すのであれば無理にNewsItemを1つのNewsMLに入れ る必要は無い。
NewsComponent内でのNewsComponent 列挙
複数の関連素材を1つにまとめる目的で利用される。次のContentItemの方法に比べ、NewsComonent が持つ多くのメタ情報を利用できる。
ただし、NewsMLでのコンテンツの管理単位はNewsItemであり、NewsComponent単位での管理が できない。このため、常に複数をまとめて管理することが前提となってしまう。
考えられる組み合わせとしては、写真とキャプション、など常にセットで管理するコンテンツや、
変更の必要の無い長期的なデータベースでの記事/写真の組み合わせが考えられる。また、htmlの記事 とプレーンテキストの記事、写真実画像とサムネイル、等が考えられるが、次のContentItem列挙でも 実現できる。
NewsComponent内でのContentItem列挙
1つの素材で複数データを持ったり、1つのものを複数種類で表現するデータがある場合などに用 いる。
具体的には、1つの画像に関する「実画像」と「サムネイル」、1つの記事の「プレーンテキスト」
と「html」、また、「音声」と「テキスト」、「映像」と「サムネイル」などの組み合わせがある。
「記事」と「関連写真」などの組み合わせはContentItemのメタ情報では表現が難しいため、上述した のNewsComponent列挙や、下記のNewsItemの列挙などが必要になる。
NewsComponent内でのNewsItem (NewsItemRef)列挙
複数のNewsItemを1つに関連付ける方法として用意されている。記事のNewsItemと画像の
NewsItemなどを組み合わせるものとして利用できる。
これは編成(ニュースコンテンツを組み合わせる)という場面が分かりやすい。それぞれ別で管理 されているNewsItemの素材を、1つのNewsMLニュースに統合するといった処理になる。上述した
NewsComponent列挙でも表現できるが、組み合わせた後にそれぞれのコンテンツを編集して、バージ
ョンアップしたり、場合によっては同じコンテンツを共有する場合はNewsItemに分かれていたほうが 都合が良い。最新版をポイントするにはリビジョンを省略すれば常に最新の組み合わせが表現できる などです。
配信フォーマットとしてというよりは、コンテンツの編集や編成のための素材データ管理の仕組と して使い勝手がよい。新聞のシステムで言えば、大組面を管理するNewsMLにNewsItemRefと し て 、 その面で利用する素材のNewsMLへのリンク複数持ったせるような使 い方である。
NewsItemとNewsItemRefの両方がある、通常は物理的にファイルが分かれる場合があるため
NewsItemRefになり、なんらかの要件で1つのファイルにまとめる場合はNewsItemの列挙を用いるこ
とになる。
[NskNewsML:1
記述形式]下記の複合形式を(△)として利用できる。
それ以外の複合方法は(×)。
ContentItemの列挙は、NewsComponent要素のEquivalentsList属性が”yes ”の場合のみ利用可能。
NewsComponentを2階層まで利用可能。
下層(子)のNewsComponentの列挙は、上層のNewsComponent要素のEquivalentsList属性”yes ” と”no”の両方で利用可能。
下層(子)のNewsComponentは、NskNewsML:1の基本形に従う。このNewsComponentにも ContentItemの列挙が可能。
各NewsComponentの各メタ情報(NewsLines , AdministrativeMetadata , RightsMetadata , DescriptiveMetadata , Metadata) は、他NewsComponentへは継承されない、各 NewsComponent毎にそれぞれ適切なメタ情報を記述する。
サンプル(ContentItemの列挙)〜プレーンテキストと
XML
記事の複合〜<NewsComponent EquivalentsList= yes >
…
<AdministrativeMetadata>
…この素材のProvider(提供元)、Creator(編集元)など…
… 上位NewsItemの情報としても扱われる…
</AdministrativeMetadata>
…
<RightsMetadata>
… この素材の権利情報…
</ RightsMetadata>
<ContentItem>
<MediaType FormalName="Text" />
<MimeType FormalName= text/plain />
<DataContent>
…プレーンテキスト記事…
</DataContent>
</ContentItem>
<ContentItem>
<MediaType FormalName="Text" />
<Format FormalName= NskBasicText />
<MimeType FormalName= text/xml />
<DataContent>
<body>
<p>…XMLによる記事のパラグラム…</p>
</body>
</DataContent>
</ContentItem>
</NewsComponent>
163
サンプル(NewsComponentの列挙)〜記事と写真の複合〜
<NewsComponent EquivalentsList= no >
<! ‑‑ NewsItemとこのNewsComponentの各種メタ情報 ‑‑ >
…
<AdministrativeMetadata>
…このニュースのProvider(提供元)、Creator(編集元)など…
… 上位NewsItemの情報としても扱われる…
</AdministrativeMetadata>
…
<RightsMetadata>
… このニュースの権利情報…
</ RightsMetadata>
<! ‑‑ 記事のコンポーネント(NskNewsML:1の単体と同じ形態)‑‑ >
<NewsComponent>
<! ? 記事に関する各種メタ情報 ‑‑ >
…
<AdministrativeMetadata>
…この記事のProvider(提供元)、Creator(編集元)など…
</AdministrativeMetadata>
…
<RightsMetadata>
… この記事の権利情報…
</ RightsMetadata>
<ContentItem>
<MediaType FormalName="Text" />
… この記事の物理メタ情報(タイプやフォーマット)と生データ …
</ContentItem>
</NewsComponent>
<! ? 写真のコンポーネント(NskNewsML:1の単体形態)‑‑ >
<NewsComponent>
<! ? 写真に関する各種メタ情報 ‑‑ >
…
<AdministrativeMetadata>
…この写真のProvider(提供元)、Creator(作成元)など…
</AdministrativeMetadata>
…
<RightsMetadata>
… この写真の権利情報…
</ RightsMetadata>
<ContentItem Href= photo.jpg >
<MediaType FormalName="Photo" />
… この写真の物理メタ情報(タイプやフォーマット) … </ContentItem>
</ContentItem>
</NewsComponent>
</NewsComponent>