データベース/テーブルビューでの編集

www.altova.com このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  XMLSpy チュートリアル > XML ドキュメント >

データベース/テーブルビューでの編集

グリッドビューの中には複数回出現する要素の編集に適したデータベース/テーブルビューという特別なビューが存在します(これ以降はテーブルビューと表記します)。個々の要素の型がテーブルとして表示されます。要素の型がテーブルとして表示されたとき、その子供(要素ならびに属性)は列として表示され、複数回出現する情報が行(レコード)として表示されます。

要素の型をテーブルとして表示するには、(複数回出現する)任意の要素を選択し、ツールバーのテーブルとして表示アイコン ic_disp_as_tbl をクリックします(メニューオプションの 「XML | テーブル | テーブルとして表示」 を選択しても同様の操作が可能です)。この操作で要素の型がテーブルとして表示されます。複数回出現する子要素もテーブルとして表示されます。テーブルビューは拡張グリッドビューで提供され、XML 形式のファイル全て(XML、XSD、XSL など)の編集で使用できます。

 

テーブルビューの利点

テーブルビューには以下のような利点があります:

 

 

ドラッグアンドドロップで列のヘッダーを変更することができます。つまり、テーブルに対応する全ての出現に対して、XMLドキュメント内での子要素または子属性の位置を修正することができるということです。
テーブルは 「XML | テーブル | 昇順に並べ替え」 または 「XML | テーブル | 降順に並べ替え」 を使うことによりソートを行うことができます。
新しい行(例えば新しい要素)を 「XML | テーブル | 行を挿入」 により追加することができます。
サードパーティ製品から、またはサードパーティ製品へコピーと貼付けを行うことができます。
テーブルでもインテリジェント編集機能が使用できます。

 

要素の型をテーブルとして表示する方法

Person 要素をテーブルとして表示するには:

 

1.        グリッドビューにて、Person テキストの1つの近くをクリックして Person 要素を選択します。

tut_50a

2.メニューオプションから「XML | テーブル | テーブルとして表示」を選択するか、テーブルとして表示アイコン ic_disp_as_tbl をクリックします。2つの Person 要素が1つのテーブルに統合されます。子要素と子属性の名前が列のヘッダになり、それらの値がテーブルの行(レコード)になります。

tut_51a

3.メニューオプションから 「表示 | 最適な幅」 を選択するか、最適な幅アイコン ic_opt_widths をクリックし、テーブルの列幅を最適化します。

注意:テーブルを選択(テーブルの要素名をクリック)し、テーブルとして表示アイコン ic_disp_as_tbl をクリックすることで、テーブルビューを停止し、ドキュメント内にある個々の要素を表示することができます。

 

テーブルビューでコンテンツを入力する

2つ目の Person 要素のコンテンツ入力を行うには、2行目にあるそれぞれのテーブルセルをダブルクリックし、何らかのデータを入力します(下のスクリーンショットを参照)。しかしファイルを妥当なものにするためには PhoneExt は 99 までの整数でなければならないことを忘れないでください。テーブルのセル内でもインテリジェント編集機能は使用できます。従ってオプションがある箇所 (Boolean コンテンツと Degree 属性の列挙)ではドロップダウンリストがから値を選択できます。

table_view_enter_data

注意:テーブルとして表示されている要素や属性に対しても入力ヘルパーは使用できます。例えば要素入力ヘルパー内の Person エンティをダブルクリックすることで、テーブルに新しい行(新しい Person 要素)を追加することができます。

 

サードパーティ製品とのXMLデータのコピー

スプレッドシートで表示されたデータを XMLSpy のXMLドキュメントとサードパーティの製品間でコピーすることができます。このデータは XMLSpy 内で XML データとして扱うこともできますし、サードパーティ製品にてネイティブフォーマットとして使用することもできます。このセクションでは Excel データシートとデータのやり取りの方法を学習します。

 

以下を行います:

 

1.行ラベル 1 をクリックします。「Ctrl」 キーを押下しながら行ラベル 2 をクリックします。これでテーブル内の両方の行が選択されます。

tut_51c

2.メニューオプションから 「編集 | 構造化テキストとしてコピー」 を選択します。このコマンドで要素が画面に表示されたままの形式でクリップボードにコピーされます。
3.Excel に切り替え、XML データを Excel ワークシートに貼りつけます(Ctrl+V)。

tut_52a

4.Excel にて新しい行にデータを入力します。PhoneExt 要素に3桁の数字(例えば 444)を入力してください。

tut_52b

5.Excel でテーブルのデータをマークし、「Ctrl」 +C によりデータをクリップボードにコピーします。
6.XMLSpy に戻ります。

7.  XMLSpy のテーブル内の左上にあるデータセルをクリックして、「編集 | 貼付け」 を選択します。

tut_52c

8.テーブルに新しいデータが表示されます。
9.メニューオプションの 「編集 | 置換」 を使用して、大文字で表示された TRUEFALSE をそれぞれ小文字の truefalse に変更します。

 

列のコンテンツによりテーブルをソートする

テーブルビュー内のテーブルは列に対して昇順または降順でソートを行うことができます。ここでは苗字 (Last) に従い Person テーブルをソートしてみましょう。

 

列の内容に対してテーブルのソートを行うには:

 

1.Last 列のヘッダをクリックして列を選択します。

tut_52d

2.メニューオプションから「XML | テーブル | 昇順に並べ替え」を選択するか、昇順ソートアイコン ic_sort_a をクリックすることで、テーブル全てがソートされます。列はハイライトされたままになります。

tut_53a

)ソート操作によりテーブルの表示が変わっただけではなく、もともとのXMLドキュメントも変更されています。つまり Person 要素の順序が Last 要素の内容に従ってソートされたのです(テキストタブをクリックしてテキストビューで変更を確認してみてください)。

3.メニューオプションから 「XML | 検証」 を選択するか、「F8」  キーを押します。'444' という値は PhoneExt 要素では許されないという内容のエラーメッセージが表示されます(スクリーンショットを参照)。不正な PhoneExt 要素がハイライトされます。

tut_53b

「詳細」を展開して、値が 99 以下でないため PhoneExt が不正であることを確認してください。エラーメッセージのリンクをクリックすることで XML ファイル内のエラーが発生した場所にジャンプすることができます。内線番号の為に設定した値のレンジではこの値はカバーされません。この値を使って妥当性を確保するためにスキーマを修正する必要があります。次のセクションではスキーマの修正を行います。

 


(C) 2018 Altova GmbH