XML技術
HOME  >  XML技術  >  探検 XMLボキャブラリの世界 第4回

探検 XMLボキャブラリの世界 第4回

第4回:新聞記事のボキャブラリ ~NewsML~

2008年2月14日 更新
著者:岸 和孝(JAGAT客員研究員)

前回は,ニュースサイトやブログに関わる書誌情報を表わすXMLボキャブラリであるRSSの話でしたので,今回は,ニュースを表わすXMLボキャブラリであるNewsMLについてお話しします。

NewsMLとは

NewsMLは,新聞産業が中心になって進めている,ニュースを交換するための情報コンテナーであり,ニュースの作成・編集・管理・発行・蓄積で利用できます。NewsMLは,メディアの種類に依存しないように設計された,マルチメディア・ニュースの構造的枠組みです。NewsMLの仕様は,国際新聞電気通信評議会(IPTC-International Press Telecommunications Council)2002年から開発しています。NewsMLの仕様としては「NewsML v1.2機能仕様書」と「NewsML v1.2 ガイドライン」の日本語版がそれぞれ入手できますので,詳細については,それらを参照してください。わが国では,日本新聞協会がNewsMLの日本語化などの普及に努めており,主要な全国紙と地方紙ですでに導入されています。

NewsMLとRSS

ここでは,NewsMLの具体例を示し,さらにそれをRSS 1.0で表わし比較してみましょう。図1にNewsMLの具体例を示します。注釈と併せ読めばNewsMLの輪郭が分かるでしょう。このNewsML文書をRSS 1.0(以下,RSSとします)で表わすと,図2のようになります。さらに,表1にNewsMLとRSS 1.0の対応を示します。表1は,やや強引な対応ですが,NewsMLがRSSによく似ていることが分かります。

図1 NewsMLによるニュースの表現

<?xml version="1.0"?>
<!DOCTYPE NewsML PUBLIC "urn:newsml:iptc.org:20001006:NewsMLv1.0.dtd:1" "NewsMLv1.0.dtd">
<NewsML>                                 <!-- NewsML文書のルート要素 -->
  <Catalog>                                  <!-- 目録 -->
    <Resource>                                   <!-- リソースが提供される場所 -->
      <Urn>urn:newsml:pressnet.or.jp:20010516:topicset.iptc-format-nsk:1</Urn>
                                                <!-- 世界レベルの識別子 -->
      <Url>../topicsets/topicset.iptc-format-nsk.xml</Url>        <!-- 位置の特定 -->
      <DefaultVocabularyFor Scheme="IptcFormats" Context="Format/@FormalName"/>
                                         <!-- 定義された用語とその意味を与える親リソース -->
    </Resource>
    <!-- 中略 -->
  </Catalog>
  <NewsEnvelope>                                 <!-- ニュースの送受信情報 -->
    <DateAndTime>20060829T120000Z</DateAndTime>       <!-- 日時 -->
  </NewsEnvelope>
  <NewsItem>                                     <!-- ニュース項目 -->
    <Identification>                                 <!-- 識別 -->
      <NewsIdentifier>                                   <!-- 固有の識別子 -->
        <ProviderId>jagat.or.jp</ProviderId>                  <!-- 配信社の個別識別子 -->
        <DateId>20060829</DateId>                             <!-- 日付識別子 -->
        <NewsItemId>JAGATNews060829</NewsItemId>        <!-- 配信社が決めた固有の識別子 -->
        <RevisionId PreviousRevision="0" Update="N">1</RevisionId>  <!-- 版数 -->
        <PublicIdentifier>urn:newsml:pressnet.or.jp:20060829:JAGATNews060829:1
        </PublicIdentifier>                                      <!-- 公開識別子 -->
      </NewsIdentifier>
      <NameLabel>ねこまた</NameLabel>                    <!-- NewsItem要素の識別名 -->
    </Identification>
    <NewsComponent>                                  <!-- ニュースオブジェクトの容れ物 -->
      <NewsLines>                                        <!-- ニュース・メタデータの容れ物 -->
        <HeadLine>「ねこまた」現れる?</HeadLine>                  <!-- 見出し -->
        <DateLine>2006年8月29日</DateLine>                         <!-- 作成日 -->
        <CopyrightLine>(C)2006 JAGAT</CopyrightLine>               <!-- 著作権情報 -->
        <KeywordLine>妖怪</KeywordLine>                            <!-- 検索用のキーワード -->
      </NewsLines>
      <AdministrativeMetadata>                           <!-- 管理メタデータ -->
        <Provider>                                                 <!-- 配信者 -->
          <Party FormalName="日本印刷技術協会" />
        </Provider>
        <Creator>                                                  <!-- 作成者 -->
          <Party FormalName="岸 和孝" />
        </Creator>
      </AdministrativeMetadata>
      <NewsComponent>                                <!-- ニュースオブジェクトの容れ物 -->
        <ContentItem>                                    <!-- ニュースオブジェクト -->
          <MediaType FormalName="Text"/>                           <!-- 媒体形式 -->
          <Format Scheme="NskFormats" FormalName="NskBasicText"/>  <!-- 形式 -->
          <MimeType FormalName="text/xml"/>                        <!-- MIME形式 -->
                                                                   <!-- ニュースの内容 -->
          <DataContent>
            <p>某月某日,会津地方某村の里山で「ねこまた」が現れたという噂が広まっている。
            当地の教育委員会では事実関係の調査のため係員を現地に派遣した。</p>
            <p>「ねこまた」は,歳を経た家猫が言葉を解し発するようになったもので,
            明治維新以降では,その存在は確認されていない。</p>
          </DataContent>
        </ContentItem>
      </NewsComponent>
      <NewsComponent>                                 <!-- ニュースオブジェクトの容れ物 -->
        <ContentItem Href="NEKOMATA.jpg">                       <!-- ニュースオブジェクト -->
           <MediaType FormalName="Photo"/>                      <!-- 媒体形式 -->
           <MimeType FormalName="image/jpeg"/>                  <!-- MIME形式 -->
           <Characteristics>                                    <!-- 物理的な特徴 -->
             <Property FormalName="Width" Value="245"/>         <!-- 特性 -->
             <Property FormalName="Height" Value="245"/>
           </Characteristics>
        </ContentItem>
      </NewsComponent>
    </NewsComponent>
  </NewsItem>
</NewsML>

▼図2 RSS 1.0によるニュースの表現

<?xml version="1.0"?>
<rdf:RDF xmlns="http://purl.org/rss/1.0/"
         xmlns:dc="http://purl.org/dc/elements/1.1/"
         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:syn="http://purl.org/rss/1.0/modules/syndication/"
         xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/">
  <channel rdf:about="http://www.jagat.or.jp/">
    <title>JAGAT</title>
    <link>http://www.jagat.or.jp/</link>
    <dc:rights>(C)2006 JAGAT</dc:rights>
    <dc:date>2006-08-29T12:00:00+00:00</dc:date>
    <dc:publisher>日本印刷技術協会</dc:publisher>
    <dc:creator>岸 和孝</dc:creator>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://www.jagat.or.jp/news/NEKOMATA.htm?date=20060829"/>
      </rdf:Seq>
    </items>
  </channel>
  <item rdf:about="http://www.jagat.or.jp/news/NEKOMATA.htm?date=20060829">
    <title>「ねこまた」現れる?</title>
    <link>http://www.jagat.or.jp/news/NEKOMATA.htm?rss=true</link>
    <description>
      <![CDATA[
        <p>某月某日,会津地方某村の里山で「ねこまた」が現れたという噂が広まっている。
        当地の教育委員会では事実関係の調査のため係員を現地に派遣した。</p>
        <p>「ねこまた」は,歳を経た家猫が言葉を解し発するようになったもので,
        明治維新以降では,その存在は確認されていない。</p>
      </description>
    <dc:subject>妖怪</dc:subject>
    <dc:date>2006-08-29T12:00:00+00:00</dc:date>
  </item>
  <image rdf:resource="http://www.jagat.or.jp/news/NEKOMATA.jpg" />
</rdf:RDF>

▼表1 NewsMLとRSS 1.0の対応

意味 RSS 1.0要素 NewsML要素
ルートrdf:RDFNewsML
配信者channelProviderId
配信者の著作権dc:rightsCopyrightLine
配信者の更新日時dc:dateDateAndTime
発行者dc:publisherProvider
作成者dc:creatorCreator
記事itemNewsItem
記事の表題titleHeadLine
記事記載ページのURIlinkPublicIdentifier
記事の概要descriptionDataContent
記事の主題dc:subjectKeywordLine
記事の発行日付dc:dateDateLine

NewsML文書のルートとなるNewsML要素は,省略可能なCatalog(目録)要素,0個以上のTopicSet(主題の集まり)要素,NewsEnvelope(ニュースの送受信情報)要素,1個以上のNewsItem(ニュース項目)要素からなります。一方,RSS文書のルートとなるrdf:RDF要素は,channel(チャンネル)要素,1個以上のitem(ニュース項目)要素からなります。RSSに比べてNewsMLは少々複雑な構造をしています。

NewsMLの前身は,IPTCが開発したNITF(The News Industry Text Format)です。NITFは,1990年代初頭からSGMLの応用として開発され,1998年以降は,XHTMLによく似た構造を表わすXMLボキャブラリーとなりました。NITFは,一部の新聞社や出版社で利用されていますが,NITFからNewsMLへの変換が可能なことから,いずれ引退する規格のようです。

一方,RSSは,当初Netscape社で開発されたもので,その後もネット業界を中心に開発が進められています。RSSの仕様は前回も述べた通り二転三転しており,かなり混乱しています。NewsMLとRSSは,よく似ていますが,歴史,立場,利用方法の違いが反映されていますので,今後この二つの規格は補完的な関係にはなっても,どちらか一つに統合されることはないように思われます。

その他の応用

ところで,山梨県庁と同県内の市町村のホームページにNewsMLが採用されたという報道が昨年ありました。そのことによって県と市町村のホームページに掲載した情報が相互のホームページに自動的に掲載されるようになり,とりわけ,災害情報などの情報が多くの県民に提供されると期待されています。これは新聞社以外のNewsMLの応用例として注目されます。RSSによる書誌(更新)情報も含め,どのようなニュースも身近なメディアで,その種類に関係なく,しかも同じ内容を入手できるようになる日が近づきつつあるのでしょう。

社団法人日本印刷技術協会(JAGAT)
PrintersCircle PrintersCircle 2006年10月号より転載
探検 XMLボキャブラリの世界

▲このページのTOPへ

  • XMLとは?IT初心者でもすぐわかるXML超入門
  • 無償で使える!XMLDB「NeoCore」
  • サイバーテック求人情報
  • メールマガジン申し込み
  • TEchScore

  • ▲NeoCoreについて記載されています!

  • ▲XMLマスター教則本です。試験対策はこれでばっちり!
Copyright (c) CyberTech corporation ltd. All ights Reserved. | サイバーテックについて | ご利用ガイド