お手軽Webデータベース
サイボウズ デヂエ

資料請求お問い合わせサイトマップサイボウズホーム

ホーム 製品情報 導入事例 活用ノウハウ ダウンロード 価格・見積・発注 マニュアル サポート
ホーム > マニュアル > ライブラリ構築マニュアル > XML ファイルの詳細

XML ファイルの詳細

XML ファイルには、ライブラリの情報、フィールドのタイプ、フィールド値が書き出されます。

eXtensible Markup Language
(アスキーデジタル用語辞典より)

HTML のようなシンプルなフォーマットで文書構造を記述でき、独自にタグを定義できることが特徴のマークアップ言語。1998 年に W3C (World Wide Web Consortium : WWW で使われる技術を標準化する団体) により標準化勧告され、現在はインターネットのさまざまな分野での応用が進められている。

独自にタグを定義できるという特徴は、単なる文書を「データ」として処理することを可能にするものである。言いかえれば、XML で記述した文書は、たとえば「<価格>」というように人間が理解しやすい構造で内容を記述できる上に、「スキーマ」を使うことで <価格> タグに書かれた「数字」を、あるアプリケーションの「価格を表わす数値データ」として利用できる。スキーマとは XML 文書内のデータを定義する情報のことで、XML Schema などが有名。

XML の普及がもっとも見込まれているのは、企業間 (B to B) の電子商取引においてである。これまで企業は、オンライン (主に専用線) で物品の調達や流通を行える仕組みを作ってきたが、電子的な取引情報の交換 (EDI : Electronic Data Interchange) には専用のシステムが必要である。この EDI システムを XML で構築すれば、インターネットを利用し、Webブラウザーベースで電子商取引を行うことが可能になる。これは、システムの大幅なコスト削減につながるだけでなく、共通のフォーマットを利用することで取引に参加できる企業を拡大できる。なお、XML による企業間 EDI を実現するには共通のスキーマを用いる必要があるが、XSLT (eXtensible Stylesheet Language Transformations) というコンバーターを使って変換する仕組みも用意されている。

現在は、IBM やオラクル、マイクロソフトといった多くのソフトウェアベンダーが自社製品を XML に対応させているだけでなく、インフォテリアの製品群のように XML 関連のツールも充実してきた。特にマイクロソフトは .NET 戦略の中心に XML を据え、XML をベースにして同社の各種機能を統合しようとしている。その中核になる製品は「BizTalk Server 2000」で、企業内や企業間のデータ通信を行う XML のフレームワークと、開発環境を提供する予定だ。

書き出し機能と書き出される内容について

XML ファイルは、以下の条件で書き出されます。

  • メニューにあるリンクをクリックすることで、XML 形式のファイルが書き出されます。
  • 実行したライブラリのレコード、フィールドについて、アクセス権/絞り込みで閲覧できないデータ以外は、すべて書き出されます。
  • 書き出す順番は、レコード番号順です。
  • フィールドの書き出し順番は、フィールド設定での順番です。フィールド一覧で上からの順で書き出されます。
書き出しの項目 内容
「サイボウズ デヂエ」 バージョン
ライブラリ ライブラリ名
ライブラリ ID
フィールド フィールド名
XML 書き出し時のレコード一覧ビューに関わらず、そのユーザーが閲覧できるフィールドすべての情報が書き出されます。
 フィールド ID
 フィールドタイプ
レコード  レコード ID
 登録者
 登録日時
 更新者
 更新日時

各レコードの値
XML 書き出し時のレコード一覧ビューに関わらず、そのユーザーが閲覧できるフィールドすべての情報が書き出されます。
 フィールドタイプ
 フィールド ID
 設定されている値

※ フィールドタイプが「自動ルックアップ」の場合は、以下の内容が書き出されます。
   ・参照しているライブラリ ID
   ・参照しているレコード ID
   ・参照している値 (設定されている値)
ライブラリ xml のバージョン (1.0)
使用文字コード (シフト JIS)
DTD ファイルのアクセス URL

書き出しに失敗した場合

レコード閲覧権がない状態で XML 書き出し実行の URL に直接アクセスした場合は、レコードが参照できないエラーを XML の形式で書き出します。形式は以下となります。

<?xml version="1.0" encoding="Shift_JIS" ?>
<!DOCTYPE dezie SYSTEM "(DTD ファイルの URL)">

<dezie version="4.0">
<error>13875</error>
</dezie>

書き出される書式について

書き出される XML ファイルの書式は、以下のようになります。

このファイルの説明が書かれています。
<dezie> </dezie> まで、「サイボウズ デヂエ」の情報が書かれています。
  <library> </library> まで、ライブラリの情報が書かれています。
    <field-list> </field-list> まで、このライブラリのフィールド情報が書かれています。
      <field> </field> まで、フィールドの情報が書かれています。
      </field> 【!】<field> 〜 </field> は、閲覧アクセス権のあるフィールド数分繰り返します。
    </field-list>  
    <record-list> </record-list> まで、このライブラリのレコード情報が書かれています。
      <record> </record> まで、レコードの情報が書かれています。
      </record> 【!】<record> 〜 </record> は、XML 書き出し時に閲覧できるレコード数分繰り返します。
    </record-list>  
  </library>  
</dezie>  

XML ファイルに関する知識・用語

書き出されるファイルについて

書き出された XML ファイルは、最初の 2 行で、そのファイルの内容を説明しています。

1 <?xml version="1.0" encoding="Shift_JIS" ?>
2 <!DOCTYPE dezie SYSTEM"(DTD ファイルの URL)">

1 行目は、以下のことを示しています。

  • このファイルが XML であること
  • XML のバージョン 1.0 であること
  • 使用している文字コードがシフト JIS であること

2 行目は、以下のこと示しています。

  • このファイルが「サイボウズ デヂエ」というシステムのドキュメントであること
  • 文書定義ファイルの場所は (DTD ファイルの URL) であること
    例) http://bozuman/cbdb/dezie-yyyymmdd.dtd
DTD ファイルについては、 「DTD ファイルについて」 を参照してください。

「サイボウズ デヂエ」について

「サイボウズ デヂエ」の情報を <dezie> タグを使って表現します。

<dezie version="(バージョン番号)">

   [ここに、ライブラリ、フィールド、レコードの情報が書き出されます]

</dezie>

書き出し対象である「サイボウズ デヂエ」のバージョンが (バージョン番号) であることを示します。バージョン番号は、メジャーバージョンのみ表示されます。例えば、(6.0(0.1) の場合、「6.0」という表記になります。

ライブラリについて

ライブラリの情報を <library> タグを使って表現します。

<library id="(ライブラリの ID)" name="(ライブラリの名前)">

   [ここに、フィールド、レコードの情報が書き出されます]

</library>

書き出し対象になっているライブラリの ID (did) が (ライブラリの ID)、名前が (ライブラリの名前) であることを示します。

フィールドについて

フィールドの情報を <field-list> タグ、<field> タグを使って表現します。

フィールド一覧を <field-list> タグを使って表現します。

<field-list>

   [ここに、各フィールドの情報が書き出されます]

</field-list>

各フィールドの情報を <field> タグを使って表現します。

各フィールド情報の書式は、<field> で始めて </field> までとします。フィールド id/フィールドタイプ/フィールド名が書き出されます。

<field id="(フィールドの ID)" type="(フィールドのタイプ)">(フィールドの名前)</field>

<field> 〜 </field> は、書き出されたフィールド数個分繰り返されます。

フィールドタイプの表記について

以下のようになります。この表記は、レコード情報の表記でも使用します。

表記名 意味 (フィールドのタイプ)
String 文字列 (1 行)
Text 文字列 (複数行)
URL URL
Select メニュー (文字列)
User メニュー (ユーザー)
Radio ラジオボタン
Boolean チェックボックス
Number 数値
Calc 自動計算
Date 日付
Time 時刻
DateTime 日付時刻
TimeSpan 時間量
TimeCalc 時間計算
File ファイル
Image イメージ URL
Numbering 自動採番
Relation 自動ルックアップ

レコードについて

レコードの情報を <record-list> タグ、<record> タグ、<value> タグなどを使って表現します。

レコード一覧を <record-list> タグを使って表現します。

<record-list>

   [ここに、各レコードの情報が書き出されます]

</record-list>

各レコードの情報を <record> タグを使って表現します。

各レコード情報の書式は、<record> で始めて </record> までとします。

<record id="(レコード番号)">
 <create-time>(レコード登録日時)</create-time>
 <creator id="(レコード登録者のユーザー ID)">(レコード登録者のユーザー名)</creator>
 <modify-time>(レコード更新日時)</modify-time>
 <modifier id="(レコード更新者のユーザー ID)">(レコード更新者のユーザー名)</modifier>

   [ここに、書き出したレコードのフィールド数分レコード値の情報が書き出されます]

</record>

<record> 〜 </record> は、書き出されたレコード数個分繰り返されます。

  • レコード番号 (rid) は、(レコード番号) であることを示します。
  • レコードの登録日時は、(レコード登録日時) であることを示します。(<create-time> タグ)
  • レコードの登録者のユーザー ID とユーザー名は、(レコード登録者のユーザー ID)(レコード登録者のユーザー名) であることを示します (<creator> タグ)。
  • レコードの更新日時は、(レコード更新日時) であることを示します (<modify-time> タグ)。
  • レコードの更新者のユーザー ID とユーザー名は、(レコード更新者のユーザー ID)(レコード更新者のユーザー名) であることを示します (<modifier> タグ)。

レコード登録者、レコード更新者の情報を持たないレコードの場合は、レコード登録者 (<creator> タグ)、レコード更新者情報 (<modifier> タグ) は書き出されません。



各レコード値の情報を <value> タグを使って表現します。

各レコード値の情報の書式は、<value> で始めて </value> までとします。

基本の書式は以下となります。

<value type="(フィールドのタイプ)" id="(フィールドの ID)">(レコード値)</value>

<value> 〜 </value> は、書き出されたレコードが持つフィールド数個分繰り返されます。
レコード値が設定されているフィールドのタイプと ID、設定されているレコードの値は、(フィールドのタイプ)(フィールドの ID)(レコード値) であることを示します。
フィールドのタイプ については、<field> タグと同じ表記になります。

書き出されるレコードのフィールド数は、閲覧できるフィールド数 (閲覧アクセス権のあるフィールド数) と同じです。
ただし、(レコード値) に値が入っていない、エラーになっているフィールドは、書き出されません (該当の <value> 〜 </value> が書き出されません。)。

フィールドタイプ : URL の場合の書式

レコード値が URL になるため、<url> タグでレコード値を表現します。

<value type="(フィールドのタイプ)" id="(フィールドの ID)"><url>(レコード値)</url></value>

リンク名が設定されている場合は、<url&gr; タグに alias="(リンク名)" 表記を追加します。(リンク名) は、設定されているリンク名を示します。

<value type="(フィールドのタイプ)"
   id="(フィールドの ID)"><url alias="(リンク名)">(レコード値)</url></value>

フィールドタイプ : イメージ URL の場合の書式

レコード値が URL になるため、<url> タグでレコード値を表現します。

<value type="(フィールドのタイプ)" id="(フィールドの ID)"><url>(レコード値)</url></value>

フィールドタイプ : ファイルの場合の書式

レコード値となるファイルの情報について、<file> タグとそのファイルへアクセスできる URL を <url> タグを使って表現します。

<value type="File" id="(フィールドの ID)">
 <file mime="(ファイルの MIME タイプ)">(レコード値 : ファイル名)<file>
 <url>(ファイルへのアクセス URL)</url>
</value>
  • フィールド ID は、(フィールドの ID) であることを示します。
  • 設定してあるファイルの MIME タイプは、(ファイルのMIMEタイプ) であることを示します。
  • 設定してあるファイルの名前は、(レコード値 : ファイル名) であることを示します。
  • 設定してあるファイルへアクセスする URL は、(参照元のフィールドのタイプ) であることを示します。書き出されている URL にアクセスすると、ファイルがダウンロードされます。

フィールドタイプ : 日付、時刻、日付時刻場合の書式

日付、時刻、日付時刻場合の場合は、<date> <time> <datetime> タグを使ってレコード値を表現します。

(レコード値) の書式は、以下になります。

フィールドタイプ レコード値の書式
日付 <date>[YYYY]-[MM]-[DD]</date>
時刻 <time>[HH]:[MN]:[SS]</time>
日付時刻 <datetime>[YYYY]-[MM]-[DD]T[HH]:[MN]:[SS]</datetime>
  • (YYYY) : 年を 4 桁の数値 (西暦) で表示します。
  • (MM) : 月を 2 桁の数値で表示します。
  • (DD) : 日を 2 桁の数値で表示します。
  • (HH) : 時を 2 桁の数値で表示します。
  • (MN) : 分を 2 桁の数値で表示します。
  • (SS) : 秒を 2 桁の数値で表示します。
  • 秒はフィールドの設定に関わらず、必ず書き出されます。

フィールドタイプ : 時間量の場合の書式

時間量の場合は、<timespan> タグを使ってレコード値を表現します。また、単位によって書き出される書式が変わります。

書式は以下になります。

  • 時間量を示すタグ <timespan> 〜 </timespan> の間に値を表記します。
  • 値の先頭には、時間の期間を示す「P」を表記します。
  • 日→時間→分→秒の順で左から表記します。
  • 日、時間、分、秒の単位を示す語を「D」「H」「M」「S」とします。
  • 「日」と「時間、分、秒」の間には、区切り「T」を表記します。

時間量の単位と表記例

時間量
の単位
レコード値の内容
日時間分秒 <timespan>P (日に設定した値) DT (時間に設定した値) H (分に設定した値) M (秒に設定した値) S</timespan>
日時間分 <timespan>P (日に設定した値) DT (時間に設定した値) H (分に設定した値) M</timespan>
日時間 <timespan>P (日に設定した値) DT (時間に設定した値) H</timespan>
<timespan>P (日に設定した値) D</timespan>
時間分秒 <timespan>PT (時間に設定した値) H (分に設定した値) M (秒に設定した値) S</timespan>
時間分 <timespan>PT (時間に設定した値) H (分に設定した値) M</timespan>
時間 <timespan>PT (時間に設定した値) H</timespan>
分秒 <timespan>PT (分に設定した値) M (秒に設定した値) S</timespan>
<timespan<PT (分に設定した値) M</timespan>
<timespan>PT (秒に設定した値) S</timespan>

フィールドタイプ : 時間計算の場合の書式

時間計算の場合は、<date> <time> <datetime> タグを使ってレコード値を表現します。計算結果により書式が変わります。時間量の場合、単位は「日時間分秒」になります。

計算結果 レコード値の内容
日付 <date>[YYYY]-[MM]-[DD]</date>
時刻 <time>[HH]:[MN]:[SS]</time>
日付時刻 <datetime>[YYYY]-[MM]-[DD]T[HH]:[MN]:[SS]</datetime>
時間量 <timespan>P (計算結果 : 日) DT (計算結果 : 時間) H (計算結果 : 分) M (計算結果 : 秒) S</timespan>

フィールドタイプ : 自動ルックアップの場合の書式

参照元 (自動ルックアップで参照しているレコード) の情報を表示します。参照元のレコード値情報は、<reference> タグを使って表現します。参照元の値が設定されていない、アクセス権によって参照できない場合は、<value> タグから書き出されません (すべての情報が書き出されません)。

<value type="Relation" id="(フィールドの ID)">
 <referencelibrary-id="(参照元のライブラリ ID)"record-id="(参照元のレコード番号)">
  <value type="(参照元のフィールドのタイプ)" id="(参照元のフィールドの ID)">(参照元のレコード値)</value>
 </reference>
</value>

参照元のレコード値情報の書式は、通常の <value> 〜 <value> の書式と同じです。この例では、基本的な書式としています。

  • このライブラリのフィールド ID は、(フィールドの ID) であることを示します。
  • リレーション設定で関連付けした先のライブラリの ID は、(参照元のライブラリ ID) であることを示します。
  • 自動ルックアップで参照しているレコードの ID は、(参照元のレコード番号) であることを示します。
  • 自動ルックアップで参照しているレコードのフィールドタイプは、(参照元のフィールドのタイプ) であることを示します。
  • 自動ルックアップで参照しているレコードのフィールド ID は、(参照元のフィールドの ID) であることを示します。
  • 自動ルックアップで参照している値は、(参照元のレコード値) であることを示します。

DTD ファイルについて

Document Type Definition (アスキーデジタル用語辞典より)

SGML で使われる、文書型定義。SGML は汎用マークアップ言語であり、どのような要素をどのようなタグを用いてマークアップするかは用途に応じて任意に決められる。そして、それを決めるのが DTD の役目でもある。データベースの「スキーマ」に相当するものと考えてもよいだろう。HTML は SGML に基づいて DTD を定義して作成したものだし、同様に XML に基づいて Web 開発言語として同じく DTD で定義されているのが XHTML ということになる。

「サイボウズ デヂエ」に当てはめると、「XML 書き出し」機能によって書き出される XML ファイルの書式式を決めているファイルということになる。

  • XML ファイルの詳細
 
サイボウズ株式会社

記載された商品名、各製品名は各社の登録商標または商標です。Copyright (C) Cybozu, Inc. All rights reserved.