XML 文書のマッピングのサンプル詳細

サンプルの概要

このサンプルは、「RDB から XML へのマッピング・エディター」を使用して、DB2 XML エクステンダーと一緒に使用できる DAD ファイルを作成する方法を示します。 DB2 XML エクステンダーには、既存の DB2 データから XML 文書を合成したり、あるいは XML 文書を DB2 データに分解するするためのさまざまなオプションがあります。 「XML to XML マッピング・エディター」は、さまざまな入力フォーマット (DTD、XSD、または XML) を選ぶことができます。 次のテーブルは、各サンプルが入力および出力として選ぶ内容の要約です。

サンプル 説明
CD 

単純なサンプル。 このサンプルで、cdtitle.xml の CD に関する情報は newcdtitle.dtd ファイルが記述する別の XML フォーマットに変換されます。
入出力としての DTD: はい | 入出力としての XSD: はい | HTML テンプレート (XML + DTD): いいえ

アドレス (Address) このサンプルは、アドレス記述のフォーマットを別のフォーマットに変換する方法を示します。 このサンプルは、タグ変換のサンプルおよび XPath 関数の定義方法を備えています。
入出力としての DTD: はい | 入出力としての XSD: はい | HTML テンプレート (XML + DTD): いいえ
PO このサンプルで、Web クライアントから受け取った購入注文は、組織の下流工程システムが処理できる別のフォーマットに変換されます。 このサンプルは、要求に対して内部の固有 ID を生成するなど、計算値に対する Java Bean または 外部 JavaScript を呼び出す方法を示します。
入出力としての DTD: はい | 入出力としての XSD: はい | HTML テンプレート (XML + DTD): いいえ
ブック (Books) このサンプルは、Books.xml で記述されたブックのリストを選び、それを Web ブラウザーでレンダリングするために HTML に変換するスタイルシートを生成する方法を示します。 bookhtml.xml は、HTML テーブルであるターゲット・フォーマットを記述します。 このサンプルは、ソートの概念も導入します。 XML に記述されたブックの未発注リストは、HTML のカテゴリーおよび価格に応じて表示されます。
入出力としての DTD: いいえ | 入出力としての XSD: いいえ | HTML テンプレート (XML + DTD): はい
組織図 (OrgChart) このサンプルは、「XSLT Programmer's Reference」ブックから脚色され、「空欄に書き込む (Fill in the blanks)」スタイルシート・パターンとして知られる、いずれかの共通する stylexml.transformet パターンを使用します。 orgchart.xml ファイルは、会社の組織図を表します。 このファイルは、管理階層を反映する再帰構造で編成されます。 生成されたスタイルシートは、このデータを、人名、肩書き、および上司の名前を示す HTML テーブルに表示します。
入出力としての DTD: いいえ | 入出力としての XSD: いいえ | HTML テンプレート (XML + DTD): はい
オセロ (Othello) このサンプルも、「XSLT Programmer's Reference」ブックから脚色され、「ルール・ベース」スタイルシート・パターンとして知られる共通スタイルシート・パターンを使用します。 othello.xml ファイルには、シェイクスピアの劇「オセロ」からのシーンが入っています。 生成されたスタイルシートは、最初の列にスピーカーの名前、2 番目の列にスピーチの行がある 2 つの列を持つ HTML テーブルとして劇を演じます。
入出力としての DTD: いいえ | 入出力としての XSD: いいえ | HTML テンプレート (XML + DTD): はい
市 (City) これは、3 つのグループ・サンプルのうちの最初で、グループの概念を導入します。 このサンプルは、「XSLT Programmer's Reference」から脚色されています。 cities.xml ファイルは、すべての市とそのそれぞれの国をリストします。 グループおよびキーを定義して、特定の国に見られるすべての市をリストするために、出力フォーマットを変更できます。
入出力としての DTD: はい | 入出力としての XSD: はい | HTML テンプレート (XML + DTD): いいえ
学校 (School) これは、2 番目のグループ・サンプルです。 school.xml ファイルは、学校の学生のリストおよび各学生が選ぶコースを示します。 これをさまざまなフォーマットに変換して、学校が提供するコース、およびコースごとに登録された学生をリストできます。
入出力としての DTD: はい | 入出力としての XSD: はい | HTML テンプレート (XML + DTD): いいえ
従業員 (Employee) これは、3 番目のグループ・サンプルです。 employee.xml ファイルには、代表的 SQL 照会から作成された従業員のリストが入っています。 この employee.xml ファイルは、SQL 照会ビルダーによって生成されます。 この照会の結果は、従業員のリストを示すフラット構造です。 これは、従業員のリストを部門別にグループ化する階層構造に変換できます。
入出力としての DTD: はい | 入出力としての XSD: はい | HTML テンプレート (XML + DTD): いいえ
旅行 (Travel) このサンプルは、複数の調達先からのデータを集約して、結果ドキュメントを作成できることを示します。 hotel.xml にはホテルの予約に関する情報が入っており、airline.xml には航空機の予約に関する情報が入っています。 これら 2 つのファイルからのデータを結合して、旅行日程表を作成します。 そのフォーマットは、itinerary.dtd ファイルによって記述されています。
入出力としての DTD: はい | 入出力としての XSD: はい | HTML テンプレート (XML + DTD): いいえ
道案内 (Directions) このサンプルでは、カナダおよび米国の両方の住所を扱うドライビングの道案内のフォーマットが別のフォーマットに変換されます。 このサンプルは、マッピング・セッションの間に、選択のさまざまなメンバーを動的に選択し、マップする方法を実演します。 また、XMX から XML へのマッピング (XMX to XML mapping) のすべてのターゲット・エレメントまたは属性に <xsl:choose> 説明を追加する方法も実演します。
入出力としての DTD: はい | 入出力としての XSD: はい | HTML テンプレート (XML + DTD): いいえ

よくある質問

DTD または XSD の入力としての指定

質問: 2 つのインスタンス・ドキュメント間のマッピングを定義する場合に、なぜ DTD または XSD ファイルが必要ですか? DTD または XSD ファイルを持っていません。

回答: DTD または XSD には、正しい XSLT を生成するのに必要なタイプ情報が含まれています。 エレメントが反復可能か可能でないかを判別するのに、インスタンス・ドキュメントのみでは不十分です。 DTD または XSD を使用すると、変換に必要な情報レベルが解決されます。

DTD がなければ、DTD ファイル・エディターを使用して XML 文書から DTD を生成できます。 この生成された DTD ファイルを使用すると、「XML to XML マッピング・エディター」を起動できます。 望むなら、DTD から XSD を生成することもできます。

質問: XML 文書は指定できますか?

回答: XML 文書に、その対応する DTD または XSD を示す DOCTYPE または xsi:schemaLocation タグのいずれかが含まれている場合は、XML 文書を入力として指定できます。 インスタンス・ドキュメントが XML エディターによって正常に検証されるのであれば、それを「XML to XML マッピング・エディター」への入力として使用できます。

質問:  DTD または XSD を入力として使用する際の相違点はなんですか?

回答: XSLT および出力文書で名前空間を使用するのであれば、XSD を入力として使用する必要があります。 名前空間の働きについて詳しくは、XML スキーマおよび XML エディターのドキュメンテーションを参照してください。 XSD サンプルにも、名前空間のさまざまな使用パターンが付いています。

HTML テンプレート

XSLT  は、一般に XML 文書を HTML 文書に変換するのに使用します。

質問: XHTML および HTML は汎用タグであるため、DTD が完全に記述できません。 それでも、「XML to XML マッピング・エディター」を使用して XSLT を生成できますか?

回答: XHTML および HTML は DTD が完全に記述できませんが、DTD が使用されるのはメタデータを提供する場合に限られ、したがって、完全である必要はありません。 DTD は、マッピングに関係があるドキュメントの部分を定義する限り、「XML to XML マッピング・エディター」には十分です。

ブック (Books)組織図 (OrgChart)、および オセロ (Othello) のサンプルは、HTML フラグメントの DTD を定義する方法を示し、さらに出力 HTML をターゲット HTML 文書のテンプレート・データによって補足します。


CD サンプル

入門

「XML から XML への (XML to XML)」ウィザードを起動するには、以下の選択を行います。
    「ファイル」 > 「新規」 > 「その他」 > 「XML」 > 「XML 間マッピング」

「XML 間マッピング」ウィザードで、ソース入力として cdtitle.dtd、ターゲット・ファイルとして newcdtitle.dtd を選択します。 「ルート・エレメント (Root Element)」ページで、ターゲット・ルート・エレメントとしてコレクション、ソース・ルート・エレメントとして CDLib を選択します。

入出力間のマッピングの定義

  1. 「ソース (Source)」ビューで、「CDLib」(すなわち、/CDLib/CD) の下の CD エレメントを選択する。 「ターゲット (Target)」ビューで、「ライブラリー (Library)」(すなわち、/Collections/Library/CD) の下の CD エレメントを選択する。 両方の CD エレメントが繰り返し可能であることに注意してください。 「マッピングの作成」を選択して、これら 2 つのエレメント間のマッピングを作成する。
  2. 「ソース (Source)」ビューで、アーティスト (artist) エレメントを選択する。 「ターゲット (Target)」ビューで、アーティスト (artist) 属性を選択する。 「マッピングの作成」を選択して、属性とエレメント間のマッピングを作成する。
  3. 「ソース (Source)」ビューで、タイトル (title) エレメントを選択する。 「ターゲット (Target)」ビューで、タイトル (title) エレメントを選択する。 「マッピングの作成」を選択して、これら 2 つのエレメント間のマッピングを作成する。
  4. 「ソース (Source)」ビューで、記述エレメントを選択する。 「ターゲット (Target)」ビューで、記述エレメントを選択する。 「マッピングの作成」を選択して、これら 2 つのエレメント間のマッピングを作成する。
  5. セッション・ファイル (.xmx) へのマッピングを保管する。

XSLT の生成

XSLT スクリプトを生成するには、以下のステップに従います。
  1. 「ナビゲーター」ビューで、.xmx ファイルを右クリックし、「XSLT を生成... (Generate XSLT...)」をクリックする。
  2. XSLT ファイルが入ったフォルダーを選択する。
  3. XSLT ファイルの名前を入力する。たとえば、newcdtitle.xsl。 ファイル名は、.xsl で終る必要があります。
  4. 「終了」をクリックする。 ファイルが「ナビゲーター」ビューに表示され、XSL エディターで開きます。

単体テスト

サンプル・ソース cdtitle.xml が提供されています。 生成された newcdtitle.xsl に対してこれを実行して、結果 _cdtitle_transform.xml ファイルを作成できます。

XML ソース・ファイルに XSLT スタイルシートを適用するには、次のようにします。

  1. 「ナビゲーター」ビューで、newcdtitle.xsl および cdtitle.xml を選択する。
  2. ファイルを右クリックし、「実行」 > 「XSL 変換 (XSL Transformation)」をクリックする。


アドレス・サンプル

入門

「XML から XML への (XML to XML)」ウィザードを起動するには、以下の選択を行います。
    「ファイル」 > 「新規 」 > 「その他」 > 「XML」 > 「XML 間マッピング」

「XML 間マッピング」ウィザードで、ソース入力として Contact.dtd、ターゲット・ファイルとして Member.dtd を選択します。 「ルート・エレメント (Root Element)」ページで、ターゲット・ルート・エレメントとしてメンバー、ソース・ルート・エレメントとして連絡 (Contact) を選択します。

入出力間のマッピングの定義

  1. 「ソース (Source)」ビューで、PostalAddress エレメントを選択して、それを、「ターゲット (Target)」ビューのアドレス (Address) エレメントにマップする。 両方のエレメントが繰り返し可能であることに注意してください。
  2. 「ソース (Source)」ビューで、名前 (N name) エレメントを選択して、それを「ターゲット (Target)」ビューの AddressType にマップする。
  3. 「ソース (Source)」ビューで、番地 (Street) エレメントを選択して、それを「ターゲット (Target)」ビューの AddressLine にマップする。
  4. 「ソース (Source)」ビューで、市 (City) エレメントを選択して、それを「ターゲット (Target)」ビューの市 (City) にマップする。
  5. 「ソース (Source)」ビューで、州 (State) エレメントを選択して、それを「ターゲット (Target)」ビューの州 (State) にマップする。
  6. 「ソース (Source)」ビューで、PostalCode エレメントを選択して、それを「ターゲット (Target)」ビューの郵便番号 (Zip) にマップする。
  7. 「ソース (Source)」ビューで、国 (Country) エレメントを選択して、それを「ターゲット (Target)」ビューの国 (Country) にマップする。
  8. 「ソース (Source)」ビューで、E メール (Email) エレメントを選択して、それを「ターゲット (Target)」ビューの E メール (Email) にマップする。
  9. 「ソース (Source)」ビューで、DeliverTo エレメントを選択して、それを「ターゲット (Target)」ビューの LastName にマップする。
  10. LastName を再選択して、「XSLT 関数の定義」ウィザードを立ち上げる。 「ストリング (String)」を選択する。 「ストリング関数 (String function)」ページで、関数 substring-after を選択する。 デフォルトでは、マッピングに基づいてすでに定義済みの XPath パラメーター ¥Contact¥PostalAddress¥DeliverTo¥text() があることに注意してください。 これは、substring-after 関数の最初の引き数として使用されます。 2 番目の引き数 ' ' (単一引用符、その後のスペースとそれに続く単一引用符) を追加する。これは、最初の引き数の区切り文字になります。 「終了」をクリックする。
  11. 「ソース (Source)」ビューで、DeliverTo エレメントを選択して、それを「ターゲット (Target)」ビューの FirstName にマップする。
  12. FirstName を再選択して、「XSLT 関数の定義」ウィザードを立ち上げる。 「ストリング (String)」を選択する。 「ストリング関数 (String function)」ページで、関数 substring-before を選択する。 デフォルトでは、マッピングに基づいてすでに定義済みの XPath パラメーター ¥Contact¥PostalAddress¥DeliverTo¥text() があることに注意してください。  これは、substring-before 関数の最初の引き数として使用されます。 2 番目の引き数 ' ' (単一引用符、その後のスペースとそれに続く単一引用符) を追加する。これは、最初の引き数の区切り文字になります。 「終了」をクリックする。
  13. セッション・ファイル (.xmx) へのマッピングを保管する。

XSLT の生成

XSLT スクリプトを生成するには、以下のステップに従います。
  1. 「ナビゲーター」ビューで、.xmx ファイルを右クリックし、「XSLT を生成... (Generate XSLT...)」をクリックする。
  2. XSLT ファイルが入ったフォルダーを選択する。
  3. XSLT ファイルの名前を入力する。たとえば、Member.xsl。 ファイル名は、.xsl で終る必要があります。
  4. 「終了」をクリックする。 ファイルが「ナビゲーター」ビューに表示され、XSL エディターで開きます。

単体テスト

サンプル・ソース Contact.xml が提供されています。 生成された Member.xsl に対してこれを実行して、結果 _Contact_transform.xml ファイルを作成できます。

XML ソース・ファイルに XSLT スタイルシートを適用するには、次のようにします。

  1. 「ナビゲーター」ビューで、Member.xsl および Contact.xml を選択する。
  2. ファイルを右クリックし、「実行」 > 「XSL 変換 (XSL Transformation)」をクリックする。


PO サンプル

PO サンプルは、Java または JavaScript のいずれかで書かれた外部関数を呼び出す方法を示します。 JavaScript は XSLT スタイルシート内に組み込まれていますが、それらを外部ファイルに保管して、「XML 間マッピング」ツールからの XSLT スクリプトの再生成で上書きされないようにすることをお勧めします。

  1. Java Bean
  2. 外部 JavaScript

Java Bean

入門

XSLT 関数の定義」ウィザードが Java Bean order.PurchaseBean を見つけて、その使用可能なメソッドのすべてを表示するには、まず Bean が Java プロジェクト内の有効な Java クラスでなければなりません。 したがって、Java プロジェクトを作成して、PurchaseBean.java をパッケージ名に移動する必要があります。

「XML から XML への (XML to XML)」ウィザードを起動するには、以下の選択を行います。
    「ファイル」 > 「新規」 > 「その他」 > 「XML」 > 「XML 間マッピング」

「XML 間マッピング」ウィザードで、ソース入力として webOrder.dtd、ターゲット・ファイルとして Order.dtd を選択します。 「ルート・エレメント (Root Element)」ページで、ターゲット・ルート・エレメントとしてオーダー (Order)、ソース・ルート・エレメントとして PurchaseOrder を選択します。

入出力間のマッピングの定義

  1. 「ソース (Source)」ビューで、Id エレメントを選択して、それを「ターゲット (Target)」ビューの Purchase-Order-Id にマップする。
  2. 「ソース (Source)」ビューで、日 (Day) 属性を選択して、それを、「ターゲット (Target)」ビューの日 (Day) エレメントにマップする。
  3. 「ソース (Source)」ビューで、年 (Year) 属性を選択して、それを、「ターゲット (Target)」ビューの年 (Year) エレメントにマップする。
  4. 「ソース (Source)」ビューで、月 (Month) 属性を選択して、それを、「ターゲット (Target)」ビューの月 (Month) エレメントにマップする。
  5. 「ソース (Source)」ビューで、数量 (Quantity) エレメントを選択して、それを、「ターゲット (Target)」ビューの数量 (Quantity) エレメントにマップする。
  6. 「ソース (Source)」ビューで、項目コード (Item-code) エレメントを選択して、それを、「ターゲット (Target)」ビューの購入者項目コード (Purchaser-Item-code) エレメントにマップする。
  7. 「ターゲット (Target)」ビューで、id 属性を選択する。 「XSLT 関数の定義」ウィザードを選択する。 「カスタム Java Bean」を選択する。 「Java メソッド (Java method)」ページで、Java Bean の名前として order.PurchaseBean を入力する。 メソッドの名前として getOrderId を入力する。 「終了」をクリックする。
  8. 「ターゲット (Target)」ビューで、単価 (Unit-Price) エレメントを選択する。 「XSLT 関数の定義」ウィザードを選択する。 「カスタム Java Bean」を選択する。 「Java メソッド (Java method)」ページで、Java Bean の名前として order.PurchaseBean を入力する。 メソッドの名前として getPrice を入力する。 /PurchaseOrder/Item-code/text() を、指定されたテキスト・フィールドに入力するか、指定可能な XPath および指定された変数から選択して、それを、このメソッドのパラメーターとして追加する。 「終了」をクリックする。
  9. 「出力 (Output)」ビューで、合計 (Total) エレメントを選択する。 「XSLT 関数の定義」ウィザードを選択する。 「数値 (Numeric)」を選択する。 「数値関数 (Numeric function)」ページで、* (乗算) 関数を選択する。 2 つの引き数を追加する。 最初の引き数 $getPrice は、ステップ 8 で指定された getPrice メソッド呼び出しの戻り値を保持する変数です。2 番目の引き数 /PurchaseOrder/Quantity/text() は、「ソース (Source)」ビューの数量 (Quantity) エレメントの値です。 両方の引き数とも、入力することも、指定可能な XPath および指定された変数から選択することもできます。 「終了」をクリックする。
  10. セッション・ファイル (.xmx) へのマッピングを保管する。

XSLT の生成

XSLT スクリプトを生成するには、以下のステップに従います。

  1. 「ナビゲーター」ビューで、.xmx ファイルを右クリックし、「XSLT を生成... (Generate XSLT...)」をクリックする。
  2. XSLT ファイルが入ったフォルダーを選択する。
  3. XSLT ファイルの名前を入力する。たとえば、Order.xsl。 ファイル名は、.xsl で終る必要があります。
  4. 「終了」をクリックする。 ファイルが「ナビゲーター」ビューに表示され、XSL エディターで開きます。

単体テスト

サンプル・ソース webOrder.xml および Java bean PurchaseBean.java が提供されています。 生成された Order.xsl に対してこれを実行して、結果 _webOrder_transform.xml ファイルを作成できます。 PurchaseBean は必ずコンパイルしてください。

XML ソース・ファイルに XSLT スタイルシートを適用するには、次のようにします。

  1. 「ナビゲーター」ビューで、Order.xsl を選択する。
  2. ファイルを右クリックし、「実行」 > 「XSL 変換 (XSL Transformation)」をクリックする。
  3. 「起動構成」ウィザードで「メイン」タブを選択する。
  4. 「メイン」パネルで、ブラウズ機能を使用して XML ソース webOrder.xml を指定する。
  5. クラスパス」タブを選択する。 「クラスパス」パネルで、ツリー・ビューアーの「ユーザー・エントリー」を選択する。
  6. プロジェクトの追加...」ボタンをクリックする。
  7. プロジェクトの選択」ウィザードで、Java Bean order.PurchaseBean が入っている Java プロジェクトを選択する。
  8. 「プロジェクトの選択」ウィザードで「OK」をクリックする。
  9. 適用」をクリックする。
  10. 実行」をクリックする。

Java Bean

入門

「XML 間マッピング」ウィザードで、ソース入力として webOrder.dtd、ターゲット・ファイルとして Order.dtd を選択します。 「ルート・エレメント (Root Element)」ページで、ターゲット・ルート・エレメントとしてオーダー (Order)、ソース・ルート・エレメントとして PurchaseOrder を選択します。

入出力間のマッピングの定義

  1. 「ソース (Source)」ビューで、Id エレメントを選択して、それを「ターゲット (Target)」ビューの Purchase-Order-Id にマップする。
  2. 「ソース (Source)」ビューで、日 (Day) 属性を選択して、それを、「ターゲット (Target)」ビューの日 (Day) エレメントにマップする。
  3. 「ソース (Source)」ビューで、年 (Year) 属性を選択して、それを、「ターゲット (Target)」ビューの年 (Year) エレメントにマップする。
  4. 「ソース (Source)」ビューで、月 (Month) 属性を選択して、それを、「ターゲット (Target)」ビューの月 (Month) エレメントにマップする。
  5. 「ソース (Source)」ビューで、数量 (Quantity) エレメントを選択して、それを、「ターゲット (Target)」ビューの数量 (Quantity) エレメントにマップする。
  6. 「ソース (Source)」ビューで、項目コード (Item-code) エレメントを選択して、それを、「ターゲット (Target)」ビューの購入者項目コード (Purchaser-Item-code) エレメントにマップする。
  7. 「ターゲット (Target)」ビューで、id 属性を選択する。 「XSLT 関数の定義」ウィザードを選択する。 「カスタム JavaScript (Custom JavaScript)」を選択する。 「JavaScript 関数 (JavaScript function)」ページで、JavaScript リソースを識別する URI 参照として file:order/PurchaseOrder.js を入力する。 関数の名前として getOrderId を入力する。 「終了」をクリックする。
  8. 「ターゲット (Target)」ビューで、単価 (Unit-Price) エレメントを選択する。 「XSLT 関数の定義」ウィザードを選択する。 「カスタム JavaScript (Custom JavaScript)」を選択する。 「JavaScript 関数 (JavaScript function)」ページで、JavaScript リソースを識別する URI 参照として file:order/PurchaseOrder.js を入力する。 関数の名前として getPrice を入力する。 指定されたテキスト・フィールドに string(/PurchaseOrder/Item-code/text()) と入力して、それをこのメソッドのパラメーターとして追加する。 XPath または Java と異なり、JavaScript 関数の引き数は、必要タイプに自動的に変換されないことに注意してください。 「終了」をクリックする。
  9. 「出力 (Output)」ビューで、合計 (Total) エレメントを選択する。 「XSLT 関数の定義」ウィザードを選択する。 「数値 (Numeric)」を選択する。 「数値関数 (Numeric function)」ページで、* (乗算) 関数を選択する。 2 つの引き数を追加する。 最初の引き数 $getPrice は、ステップ 8 で指定された getPrice 関数呼び出しの戻り値を保持する変数です。2 番目の引き数 /PurchaseOrder/Quantity/text() は、「ソース (Source)」ビューの数量 (Quantity) エレメントの値です。 両方の引き数とも、入力することも、指定可能な XPath および指定された変数から選択することもできます。 「終了」をクリックする。

単体テスト

サンプル・ソース webOrder.xml および JavaScript PurchaseOrder.js が提供されています。 生成された OrderJS.xsl に対してこれを実行して、結果 OrderJS.xml ファイルを作成できます。


ブック (Books) サンプル

入門

「XML から XML への (XML to XML)」ウィザードを起動するには、以下の選択を行います。
    「ファイル」 > 「新規」 > 「その他」 > 「XML」 > 「XML 間マッピング」

「XML 間マッピング」ウィザードで、ソース入力として Books.dtd 、ターゲット・ファイルとして bookhtml.xml を選択します。 bookhtml.xml は、html 出力で発生するはずのテンプレート、ならびに一部の静的データも備えています。 これには、出力の定義用の html.dtd が含まれています。 「ルート・エレメント (Root Element)」ページで、ソース・ファイルのルート・エレメントとしてブック (Books) を選択します。

入出力間のマッピングの定義

  1. 「ソース (Source)」ビューで、「ブック (Books)」(すなわち、/Books/book) の下の ブック (Books) エレメントを選択する。 「ターゲット (Target)」ビューで、「テーブル (table)」(すなわち、 /html/body/table/tr) の下の tr エレメントを選択する。 ブック (Books) および tr の両方のエレメントが繰り返し可能であることに注意してください。 「マッピングの作成」を選択して、これら 2 つのエレメント間のマッピングを作成する。
  2. tr エレメントを再選択し、ポップアップ・メニューから「ソート... (Sort...)」を選択して、「ソート・キーの指定 (Specify Sort Keys)」ウィザードを立ち上げる。 次に、使用可能なリストから @category を選択し、それを空のソート・キー・リストに追加して、1 次ソート・キーを指定する。 次に、price/text() を選択し、それをソート・キー・リストに追加して、2 次ソート・キーを指定する。 最後に、ソート・キー・リストの price/text() を選択して、データ型をソート・オプションの字句から数値に変更する。 「終了」をクリックする。
  3. 「ソース (Source)」ビューで、先頭 (first) および最後 (last) 属性を選択する。 「ターゲット (Target)」ビューで、このパス (/html/body/table/tr/td) の最初の td エレメントを選択する。 「マッピングの作成」を選択して、2 つの属性と 1 つの エレメント間の m-1 マッピングを作成する。
  4. td エレメントを再選択して、「XSLT 関数の定義 」ウィザードを立ち上げる。 「ストリング (String)」を選択する。 「ストリング関数 (String function)」ページで、関数 concat を選択する。 デフォルトでは、マッピングに基づいてすでに定義済みの 2 つの引き数 author/@first および author/@last があることに注意してください。 3 番目の引き数 ' ' (単一引用符、その後のスペースとそれに続く単一引用符) を追加し、引き数の順序を、最初の引き数として author/@first が現れ、次に ' '、その後に author/@last が続くようにする。 終了」をクリックする。>
  5. 「ソース (Source)」ビューで、タイトル (title) エレメントを選択する。 「ターゲット (Target)」ビューで、このパス (/html/body/table/tr/td) の 2 番目の td エレメントを選択する。 「マッピングの作成」を選択して、これら 2 つのエレメント間のマッピングを作成する。
  6. 「ソース (Source)」ビューで、カテゴリー属性を選択する。 「ターゲット (Target)」ビューで、このパス (/html/body/table/tr/td) の 3 番目の td エレメントを選択する。 「マッピングの作成」を選択して、これら 2 つのエレメント間のマッピングを作成する。
  7. 「ソース (Source)」ビューで、価格 (price) 属性を選択する。 「ターゲット (Target)」ビューで、このパス (/html/body/table/tr/td) の 4 番目の td エレメントを選択する。 「マッピングの作成」を選択して、これら 2 つのエレメント間のマッピングを作成する。
  8. セッション・ファイル (.xmx) へのマッピングを保管する。

XSLT の生成

XSLT スクリプトを生成するには、以下のステップに従います。
  1. 「ナビゲーター」ビューで、.xmx ファイルを右クリックし、「XSLT を生成... (Generate XSLT...)」をクリックする。
  2. XSLT ファイルが入ったフォルダーを選択する。
  3. XSLT ファイルの名前を入力する。たとえば、bookhtml.xsl。 ファイル名は、.xsl で終る必要があります。
  4. 「終了」をクリックする。 ファイルが「ナビゲーター」ビューに表示され、XSL エディターで開きます。

単体テスト

サンプル・ソース Books.xml が提供されています。 生成された bookhtml.xsl に対してこれを実行して、_Books_transform.html ファイルを作成できます。

XML ソース・ファイルに XSLT スタイルシートを適用するには、次のようにします。

  1. 「ナビゲーター」ビューで、bookhtml.xsl および Books.xml を選択する。
  2. ファイルを右クリックし、「実行」 > 「XSL 変換 (XSL Transformation)」をクリックする。


組織図 (OrgChart) サンプル

入門

「XML から XML への (XML to XML)」ウィザードを起動するには、以下の選択を行います。
    「ファイル」 > 「新規」 > 「その他」 > 「XML」 > 「XML 間マッピング」

「XML 間マッピング」ウィザードで、ソース入力として orgchart.dtd、ターゲット・ファイルとして orgcharthtml.xml を選択します。 orgcharthtml.xml は、html 出力で発生するはずのテンプレート、ならびに一部の静的データも備えています。 これには、出力の定義用の html.dtd が含まれています。 「ルート・エレメント (Root Element)」ページで、ソース・ファイルのルート・エレメントとして組織図 (orgchart) を選択します。

入出力間のマッピングの定義

  1. 「ソース (Source)」ビューで、「レポート (reports)」(すなわち、/orgchart/person/reports/person) の下の 個人 (person) エレメントを選択する。 「ターゲット (Target)」ビューで、「テーブル (table)」(すなわち、 /html/body/table/tr) の下の tr エレメントを選択する。 個人 (person) および tr の両方のエレメントが繰り返し可能であることに注意してください。 「マッピングの作成」を選択して、これら 2 つのエレメント間のマッピングを作成する。
  2. tr エレメントを再選択して、「XSLT 関数の定義 」ウィザードを立ち上げる。 「XPath 式 (XPath expression) を選択する。 XPath 式 //person を入力して、「終了」をクリックする。 XPath  は、実際のマッピングでの表現より若干一般的な式です。 式には、レポート (reports) の下のエレメントに加えて、/orgchart 直下に、これらの個人 (person) エレメントも含まれます。
  3. 「ソース (Source)」ビューで、/orgchart/person/reports/person/name エレメントを選択する。 「ターゲット (Target)」ビューで、このパス (/html/body/table/tr/td) の最初の td エレメントを選択する。「マッピングの作成」を選択して、これら 2 つのエレメント間のマッピングを作成する。
  4. 「ソース (Source)」ビューで、/orgchart/person/reports/person/title エレメントを選択する。 「ターゲット (Target)」ビューで、このパス (/html/body/table/tr/td) の 2 番目の td エレメントを選択する。「マッピングの作成」を選択して、これら 2 つのエレメント間のマッピングを作成する。
  5. 「ターゲット (Target)」ビューで、このパス (/html/body/table/tr/td) の 3 番目の td エレメントを選択する。「XSLT 関数の定義」ウィザードを立ち上げて、「XPath 式 (XPath expression)」を選択する。 XPath 式 ancestor::person[1]/name を入力して、「終了」をクリックする。
  6. 「ターゲット (Target)」ビューで、「本体 (body)」の下の P エレメントを選択する。 「XSLT 関数の定義」ウィザードを立ち上げて、「ストリング (String)」を選択する。 「ストリング関数 (String function)」ページで、関数 concat を選択する。3 つのパラメーター、'The following responsibilities were announced on ' /orgchart/@date、および '.' を追加する。 「終了」をクリックする。
  7. セッション・ファイル (.xmx) へのマッピングを保管する。

XSLT の生成

XSLT スクリプトを生成するには、以下のステップに従います。
  1. 「ナビゲーター」ビューで、.xmx ファイルを右クリックし、「XSLT を生成... (Generate XSLT...)」をクリックする。
  2. XSLT ファイルが入ったフォルダーを選択する。
  3. XSLT ファイルの名前を入力する。たとえば、orgcharthtml.xsl。 ファイル名は、.xsl で終る必要があります。
  4. 「終了」をクリックする。 ファイルが「ナビゲーター」ビューに表示され、XSL エディターで開きます。

単体テスト

サンプル・ソース orgchart.xml が提供されています。 生成された orgcharthtml.xsl に対してこれを実行して、_orgchart_transform.html ファイルを作成できます。

XML ソース・ファイルに XSLT スタイルシートを適用するには、次のようにします。

  1. 「ナビゲーター」ビューで、orgcharthtml.xsl および orgchart.xml を選択する。
  2. ファイルを右クリックし、「実行」 > 「XSL 変換 (XSL Transformation)」をクリックする。


「オセロ (Othello)」サンプル

入門

「XML から XML への (XML to XML)」ウィザードを起動するには、以下の選択を行います。
    「ファイル」 > 「新規」 > 「その他」 > 「XML」 > 「XML 間マッピング」

「XML 間マッピング」ウィザードで、ソース入力として play.dtd、ターゲット・ファイルとして playhtml.xml を選択します。 playhtml.xml は、html 出力で発生するはずのテンプレート、ならびに一部の静的データも備えています。 これには、出力の定義用の html.dtd が含まれています。 「ルート・エレメント (Root Element)」ページで、ソース・ファイルのルート・エレメントとして「シーン (SCENE)」を選択します。 「シーン (SCENE)」は、最初ルート・エレメントとして選択されないことに注意してください。

入出力間のマッピングの定義

  1. 「ソース (Source)」ビューで、/SCENE/TITLE エレメントを選択する。 「ターゲット (Target)」ビューで、/html/head/title エレメントを選択する。 「マッピングの作成」を選択して、これら 2 つのエレメント間のマッピングを作成する。
  2. 「ソース (Source)」ビューで、/SCENE/TITLE エレメントを再選択する。 ここで「ターゲット (Target)」ビューで、/html/body/h1/CENTER エレメントを選択する。 「マッピングの作成」を選択して、これら 2 つのエレメント間のマッピングを作成する。
  3. 「ソース (Source)」ビューで、スピーチ (SPEECH) エレメントを選択する。 「ターゲット (Target)」ビューで、テーブル (すなわち、/html/body/table/tr) の下の tr エレメントを選択する。 スピーチ (SPEECH) および tr の両方のエレメントが現行コンテキスト内で繰り返し可能であることに注意してください。 「マッピングの作成」を選択して、これら 2 つのエレメント間のマッピングを作成する。
  4. 「ソース (Source)」ビューで、/SCENE/SPEECH/SPEAKER エレメントを選択する。 「ターゲット (Target)」ビューで、このパス (/html/body/table/tr/td) の最初の td エレメントを選択する。 「マッピングの作成」を選択して、これら 2 つのエレメント間のマッピングを作成する。
  5. 「ソース (Source)」ビューで、/SCENE/SPEECH/LINE エレメントを選択する。 「ターゲット (Target)」ビューで、このパス (/html/body/table/tr/td) の 2 番目の td エレメントを選択する。 「マッピングの作成」を選択して、これら 2 つのエレメント間のマッピングを作成する。
  6. セッション・ファイル (.xmx) へのマッピングを保管する。

XSLT の生成

XSLT スクリプトを生成するには、以下のステップに従います。
  1. 「ナビゲーター」ビューで、.xmx ファイルを右クリックし、「XSLT を生成... (Generate XSLT...)」をクリックする。
  2. XSLT ファイルが入ったフォルダーを選択する。
  3. XSLT ファイルの名前を入力する。たとえば、orgcharthtml.xsl。 ファイル名は、.xsl で終る必要があります。
  4. 「終了」をクリックする。 ファイルが「ナビゲーター」ビューに表示され、XSL エディターで開きます。

単体テスト

サンプル・ソース othello.xml が提供されています。 生成された playhtml.xsl に対してこれを実行して、_othello_transform.html ファイルを作成できます。

XML ソース・ファイルに XSLT スタイルシートを適用するには、次のようにします。

  1. 「ナビゲーター」ビューで、playhtml.xsl および othello.xml を選択する。
  2. ファイルを右クリックし、「実行」 > 「XSL 変換 (XSL Transformation)」をクリックする。


市 (City) サンプル

入門

「XML から XML への (XML to XML)」ウィザードを起動するには、以下の選択を行います。
    「ファイル」 > 「新規」 > 「その他」 > 「XML」 > 「XML 間マッピング」

「XML 間マッピング」ウィザードで、ソース入力として cities.dtd、ターゲット・ファイルとして countries.dtd を選択します。 「ルート・エレメント (Root Element)」ページで、ターゲット・ルート・エレメントとして国 (countries)、ソース・ルート・エレメントとして市 (cities) を選択します。

入出力間のマッピングの定義

  1. 「ソース (Source)」ビューで、「市 (cities)」(すなわち、/cities/city) の下の 市 (cities) エレメントを選択する。 「ターゲット (Target)」ビューで、「国 (countries)」(すなわち、 /countries/country) の下の 国 (countries) エレメントを選択する。 市 (city) および 国 (country) の両方のエレメントが繰り返し可能であることに注意してください。 「マッピングの作成」を選択して、これら 2 つのエレメント間のマッピングを作成する。
  2. 「ターゲット (Target)」ビューで、国 (country) エレメントを再選択し、「グループの定義 (Define Grouping)」ウィザードを立ち上げる。 次に、指定できる使用可能なキーのリストから @country を選択する。 「終了」をクリックする。
  3. 「ソース (Source)」ビューで、国 (country) 属性を選択して、それを、「ターゲット (Target)」ビューの名前 (name) エレメントにマップする。
  4. 「ソース (Source)」ビューで、名前 (name) 属性を選択して、それを、「ターゲット (Target)」ビューの市 (city) エレメントにマップする。
  5. セッション・ファイル (.xmx) へのマッピングを保管する。

XSLT の生成

XSLT スクリプトを生成するには、以下のステップに従います。
  1. 「ナビゲーター」ビューで、.xmx ファイルを右クリックし、「XSLT を生成... (Generate XSLT...)」をクリックする。
  2. XSLT ファイルが入ったフォルダーを選択する。
  3. XSLT ファイルの名前を入力する。たとえば、orgcharthtml.xsl。 ファイル名は、.xsl で終る必要があります。
  4. 「終了」をクリックする。 ファイルが「ナビゲーター」ビューに表示され、XSL エディターで開きます。

単体テスト

サンプル・ソース cities.xml が提供されています。 生成された countries.xsl に対してこれを実行して、結果 _cities_transform.xml ファイルを作成できます。

XML ソース・ファイルに XSLT スタイルシートを適用するには、次のようにします。

  1. 「ナビゲーター」ビューで、countries.xsl および cities.xml を選択する。
  2. ファイルを右クリックし、「実行」 > 「XSL 変換 (XSL Transformation)」をクリックする。


学校 (School) サンプル

入門

「XML から XML への (XML to XML)」ウィザードを起動するには、以下の選択を行います。
    「ファイル」 > 「新規」 > 「その他」 > 「XML」 > 「XML 間マッピング」

「XML 間マッピング」ウィザードで、ソース入力として school.dtd、ターゲット・ファイルとして newschool.dtd を選択します。 「ルート・エレメント (Root Element)」ページで、ターゲット・ルート・エレメントとして学校 (School)、ソース・ルート・エレメントとして学校 (School) を選択します。

入出力間のマッピングの定義

  1. 「ソース (Source)」ビューで、「学校 (School) 」(すなわち、/school/student) の下の学生 (student) エレメントを選択する。 「ターゲット (Target)」ビューで、「学校 (School)」(すなわち、 /school/course) の下のコース (course) エレメントを選択する。 学生 (student) および コース (course) の両方のエレメントが繰り返し可能であることに注意してください。 「マッピングの作成」を選択して、これら 2 つのエレメント間のマッピングを作成する。
  2. コース (course) エレメントを再選択して、「グループの定義 (Define Grouping) 」ウィザードを立ち上げる。 次に、指定できる使用可能なキーのリストから course/text() を選択する。 「終了」をクリックする。
  3. 「ソース (Source)」ビューで、/school/student/name 属性を選択して、それを、「ターゲット (Target)」ビューの /school/course/student/name 属性にマップする。
  4. 「ソース (Source)」ビューで、/school/student/course エレメントを選択して、それを、「ターゲット (Target)」ビューの /school/course/name エレメントにマップする。
  5. 「ソース (Source)」ビューで、/school/student/birth エレメントを選択して、それを、「ターゲット (Target)」ビューの /school/course/student/birth 属性にマップする。
  6. セッション・ファイル (.xmx) へのマッピングを保管する。

XSLT の生成

XSLT スクリプトを生成するには、以下のステップに従います。
  1. 「ナビゲーター」ビューで、.xmx ファイルを右クリックし、「XSLT を生成... (Generate XSLT...)」をクリックする。
  2. XSLT ファイルが入ったフォルダーを選択する。
  3. XSLT ファイルの名前を入力する。たとえば、orgcharthtml.xsl。 ファイル名は、.xsl で終る必要があります。
  4. 「終了」をクリックする。 ファイルが「ナビゲーター」ビューに表示され、XSL エディターで開きます。

単体テスト

サンプル・ソース school.xml が提供されています。 生成された newschool.xsl に対してこれを実行して、結果 _school_transform.xml ファイルを作成できます。

XML ソース・ファイルに XSLT スタイルシートを適用するには、次のようにします。

  1. 「ナビゲーター」ビューで、newschool.xsl および school.xml を選択する。
  2. ファイルを右クリックし、「実行」 > 「XSL 変換 (XSL Transformation)」をクリックする。


従業員 (Employee) サンプル

入門

「XML から XML への (XML to XML)」ウィザードを起動するには、以下の選択を行います。
    「ファイル」 > 「新規」 > 「その他」 > 「XML」 > 「XML 間マッピング」

「XML 間マッピング」ウィザードで、ソース入力として employee.dtd、ターゲット・ファイルとして StructureEmployee.dtd を選択します。 「ルート・エレメント (Root Element)」ページで、ターゲット・ルート・エレメントとして会社 (Company)、ソース・ルート・エレメントとして SQLResult を選択します。

入出力間のマッピングの定義

  1. 「ソース (Source)」ビューで、従業員 (Employee) エレメント (すなわち、/SQLResult/EMPLOYEE) を選択する。 「ターゲット (Target)」ビューで、部門 (Department) エレメント (すなわち、 /Company/Department) を選択する。 従業員 (EMPLOYEE) および 部門 (Department) の両方のエレメントが繰り返し可能であることに注意してください。 「マッピングの作成」を選択して、これら 2 つのエレメント間のマッピングを作成する。
  2. 部門 (Department) エレメントを再選択して、「 グループの定義 (Define Grouping) 」ウィザードを立ち上げる。 次に、指定できる使用可能なキーのリストから DEPARTMENT/text() を選択する。 「終了」をクリックする。
  3. 「ソース (Source)」ビューで、/SQLResult/EMPLOYEE/NAME エレメントを選択して、それを、「ターゲット (Target)」ビューの名前 /Company/Department/Employee/Name エレメントにマップする。
  4. 「ソース (Source)」ビューで、/SQLResult/EMPLOYEE/SALARY エレメントを選択して、それを、「ターゲット (Target)」ビューの名前/Company/Department/Employee/Salary エレメントにマップする。
  5. 「ソース (Source)」ビューで、/SQLResult/EMPLOYEE/BONUS エレメントを選択して、それを、「ターゲット (Target)」ビューの名前 /Company/Department/Employee/Bonus エレメントにマップする。
  6. 「ソース (Source)」ビューで、/SQLResult/EMPLOYEE/COMM エレメントを選択して、それを、「ターゲット (Target)」ビューの名前 /Company/Department/Employee/Comm エレメントにマップする。
  7. 「ソース (Source)」ビューで、/SQLResult/EMPLOYEE/DEPARTMENT エレメントを選択して、それを、「ターゲット (Target)」ビューの名前 /Company/Department/Name エレメントにマップする。
  8. セッション・ファイル (.xmx) へのマッピングを保管する。

XSLT の生成

XSLT スクリプトを生成するには、以下のステップに従います。
  1. 「ナビゲーター」ビューで、.xmx ファイルを右クリックし、「XSLT を生成... (Generate XSLT...)」をクリックする。
  2. XSLT ファイルが入ったフォルダーを選択する。
  3. XSLT ファイルの名前を入力する。たとえば、orgcharthtml.xsl。 ファイル名は、.xsl で終る必要があります。
  4. 「終了」をクリックする。 ファイルが「ナビゲーター」ビューに表示され、XSL エディターで開きます。

単体テスト

サンプル・ソース Employee.xml が提供されています。 生成された StructureEmployee.xsl に対してこれを実行して、結果 _Employee_transform.xml ファイルを作成できます。

XML ソース・ファイルに XSLT スタイルシートを適用するには、次のようにします。

  1. 「ナビゲーター」ビューで、StructureEmployee.xsl および Employee.xml を選択する。
  2. ファイルを右クリックし、「実行」 > 「XSL 変換 (XSL Transformation)」をクリックする。


旅行 (Travel) サンプル

入門

「XML から XML への (XML to XML)」ウィザードを起動するには、以下の選択を行います。
    「ファイル」 > 「新規」 > 「その他」 > 「XML」 > 「XML 間マッピング」

「XML 間マッピング」ウィザードで、ソース入力として Airline.dtd および Hotel.dtd、ターゲット・ファイルとして Itinerary.dtd を選択します。 「ルート・エレメント (Root Element)」ページで、ターゲット・ルート・エレメントとして旅行日程表 (Itinerary)、ソース・ルート・エレメントとして航空機 (Airline) およびホテル (Hotel)Hotel を選択します。

入出力間のマッピングの定義

  1. 「ソース (Source)」ビューで、/Airline/Schedule/Flight エレメントを選択して、それを、「出力 (Output)」ビューの /Itinerary/Flight にマップする。
  2. 「ソース (Source)」ビューで、/Airline/Schedule/Departure エレメントを選択して、それを、「ターゲット (Target)」ビューの /Itinerary/Departure エレメントにマップする。
  3. 「ソース (Source)」ビューで、/Airline/Schedule/Arrival エレメントを選択して、それを、「ターゲット (Target)」ビューの /Itinerary/Arrival エレメントにマップする。
  4. 「ソース (Source)」ビューで、/Hotel/Preference/HotelName エレメントを選択して、それを、「ターゲット (Target)」ビューの /Itinerary/Hotel エレメントにマップする。
  5. セッション・ファイル (.xmx) へのマッピングを保管する。

XSLT の生成

XSLT スクリプトを生成するには、以下のステップに従います。
  1. 「ナビゲーター」ビューで、.xmx ファイルを右クリックし、「XSLT を生成... (Generate XSLT...)」をクリックする。
  2. XSLT ファイルが入ったフォルダーを選択する。
  3. XSLT ファイルの名前を入力する。たとえば、orgcharthtml.xsl。 ファイル名は、.xsl で終る必要があります。
  4. 「終了」をクリックする。 ファイルが「ナビゲーター」ビューに表示され、XSL エディターで開きます。

単体テスト

サンプル・ソース Airline.xml および Hotel.xml が提供されています。 これらを生成された Itinerary.xsl に対して実行して、結果 _Itinerary_transform.xml ファイルを作成できます。

複数の XML ソースに XSLT スタイルシートを適用するには、次のようにします。

  1. 「ナビゲーター」ビューで、Itinerary.xml を選択する。
  2. ファイルを右クリックし、「実行」 > 「XSL 変換 (XSL Transformation)」をクリックする。
  3. 「起動構成」ウィザードで「メイン」タブを選択する。
  4. 「メイン」パネルで、ブラウズ機能を使用して XML ソース Airline.xml を指定する。
    2 つのソース・ファイルのうちのどちらを指定してもかまわないことに注意してください。
  5. 適用」をクリックする。
  6. 実行」をクリックする。


道案内 (Directions) サンプル

入門

「XML から XML への (XML to XML)」ウィザードを起動するには、以下の選択を行います。
    「ファイル」 > 「新規」 > 「その他」 > 「XML」 > 「XML 間マッピング」

「XML 間マッピング」ウィザードで、ソース入力として DrivingDirections.dtd、ターゲット・ファイルとして RoadTrip.dtd を選択します。 「ルート・エレメント (Root Element)」ページで、ターゲット・ルート・エレメントとして RoadTrip、ソース・ルート・エレメントとして 道案内 (Directions) を選択します。

入出力間のマッピングの定義

  1. 「ソース (Source)」ビューで、道案内 (Directions) エレメントを選択して、それを、「ターゲット (Target)」ビューの RoadTrip エレメントにマップする。
  2. 「ソース (Source)」ビューで、スタート (Start) エレメントを選択し、「ターゲット (Target)」ビューで StartingLocation エレメントを選択する。 ここで、「マッピング」 > 「マッピングの突き合わせ (Match Mapping)」を選択する。 これで、選択済みノード、および共通名 (市 (City)県 (Province) および PostalCode) を持つ下位ノードがマップされる。
  3. 「ターゲット (Target)」ビューで、現在の可視選択メンバー StartingLocation/Intersection を選択する。 その隣に矢印が現れる。 矢印をクリックし、エントリーをダブルクリックして、ドロップダウン・メニューから StreetAddress エレメントを選択する。 「ソース (Source)」ビューで、Start/Street エレメントを選択して、それを、「ターゲット (Target)」ビューの StartingLocation/StreetAddress エレメントにマップする。
  4. 「ソース (Source)」ビューで、現在の可視選択メンバー Start/Province を選択する。その隣に矢印が表示される。矢印をクリックし、入表示される口をダブルクリックして、ドロップダウン・メニューから 州 (State) エレメントを選択する。 「ターゲット (Target)」ビューで、StartingLocation/Province を繰り返す。 Start/State を再選択し、それを StartingLocation/State にマップする。
  5. 「ソース (Source)」ビューで、現在の可視選択メンバー Start/PostalCode を選択する。その隣に矢印が表示される。 矢印をクリックし、エントリーをダブルクリックして、ドロップダウン・メニューから郵便番号 (Zip) エレメントを選択する。 「ターゲット (Target)」ビューで、StartingLocation/PostalCode を繰り返す。Start/Zip を再選択し、それを StartingLocation/Zip にマップする。
  6. 「ソース (Source)」ビューで、終了 (End) エレメントを選択し、「ターゲット (Target)」ビューで宛先エレメントを選択する。 ここで、「マッピング」 > 「マッピングの突き合わせ (Match Mapping)」を選択する。 これで、選択済みノード、および共通名 (市 (City)県 (Province) および PostalCode) を持つ下位ノードがマップされる。
  7. 「ソース (Source)」ビューの 終了 (End) エレメント、および「ターゲット (Target)」ビューの宛先エレメントの、下位ノードのステップ 3、4 および 5 を繰り返す。
  8. <xsl:choose> 命令を「ターゲット (Target)」ビューの距離 (Mileage) エレメントに追加する。
    • 「ターゲット (Target)」ビューで、距離 (Mileage) エレメントを選択する。
    • xsl:choose 命令を追加 (Add xsl:choose instruction)」ツールバー・ボタンをクリックする。
    • 時を追加 (Add When)」をクリックして、<xsl: when> 条件を追加する。 それを選択する。
    • テスト (Test)」フィールドで、手動あるいは「XPath 式 (XPath expression)」ウィザードのいずれかを用いて、XPath 式、 ./Distance/Kilometers を入力する。
    • コンテンツ (Content)」フィールドで、コンテンツ <xsl:value-of select="(./Distance/Kilometers div 1.609347)"/> を入力する。
    • それ以外の追加 (Add Otherwise)」をクリックして、<xsl:otherwise> 条件を追加する。 それを選択する。
    • コンテンツ (Content)」フィールドで、コンテンツ <xsl:value-of select="./Distance/Miles"/> を入力する。
    • 終了」をクリックする。
  9. セッション・ファイル (.xmx) へのマッピングを保管する。

XSLT の生成

XSLT スクリプトを生成するには、以下のステップに従います。
  1. 「ナビゲーター」ビューで、.xmx ファイルを右クリックし、「XSLT を生成... (Generate XSLT...)」をクリックする。
  2. XSLT ファイルが入ったフォルダーを選択する。
  3. XSLT ファイルの名前を入力する。たとえば、RoadTrip.xsl。 ファイル名は、.xsl で終る必要があります。
  4. 「終了」をクリックする。 ファイルが「ナビゲーター」ビューに表示され、XSL エディターで開きます。

単体テスト

サンプル・ソース DrivingDirections.xml が提供されています。 生成された RoadTrip.xsl に対してこれを実行して、結果 _DrivingDirections_transform.xml ファイルを作成できます。

XML ソース・ファイルに XSLT スタイルシートを適用するには、次のようにします。

  1. 「ナビゲーター」ビューで、RoadTrip.xsl および DrivingDirections.xml を選択する。
  2. ファイルを右クリックし、「実行」 > 「XSL 変換 (XSL Transformation)」をクリックする。