サンプル: 複数のソートキーによる並べ替え

www.altova.com すべてを展開/折りたたむ このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  SPS ファイル: 高度な機能 > 並べ替え >

サンプル: 複数のソートキーによる並べ替え

以下にあるシンプルな例では、チームメンバーがテーブルに表示されます(サンプルファイルは (マイ) ドキュメントフォルダーC:\Documents and Settings\<username>\My Documents\Altova\StyleVision2019\StyleVisionExamples\Tutorial\Sorting\SortingOnTwoTextKeys.sps にて確認することができます)。テーブルの行には各メンバーの氏名と電子メールアドレスが表示されます。ここでは表示されているメンバーの苗字でまず並べ替えを行い、次に名前による並べ替えを行います。

 

表示されている名前が並べ替えられていない場合、XML ドキュメント内の member 要素と同じ順序で名前の表示が行われます(以下にある HTML 出力のスクリーンショットを参照)。

 

SS_Sort_UnsortedHTML

 

デザインビューにて member 要素(以下のスクリーンショットにて青色でハイライトされているノード)を右クリックし、コンテキストメニューから並べ替えコマンドを選択します。

 

SS_Sort_SelectElementDes

 

この操作により、出力ソートの順序を定義ダイアログが表示されます(以下のスクリーンショットを参照)。並べ替えに選択された要素の member がソートノードエントリーに表示されます。このノードがソートキーを選択する XPath 条件式のコンテキストノードにもなります。ペインツールバーの左側にある行の追加ボタンをクリックして、最初の並べ替え処理を追加します。追加された行にて XPath 条件式をマッチカラムに入力し、last ノードを選択します。構築ボタン BtnEdit をクリックすることでも、XPath 条件式を構築することができます。データ型カラムでは、ソートキーのコンテンツを評価する方法を、テキストと数値から選択することができます。順序カラムでは、並べ替えが行われる方向を、昇順と降順から選択することができます。テキストと昇順を選択し、「OK」 をクリックしてください。

 

DlgDefineSortOrder1

 

デザインビューでは、並べ替えのフィルターを表すアイコンが member タグに表示されます tag_sort。チームメンバーの HTML 出力では、以下に示されるように苗字が並べ替えられた状態で表示が行われます。ここで Edwards の並べ替えが正しく行われていないことに注目してください(Nadia が John の前に表示されており、これは XML ドキュメントにおける要素の順序に従ったものです)。名前による並べ替えを行うために、2番目のソートキーを作成します。

 

 

SS_Sort_SortedOnLast

 

デザインビューにある member タグを右クリックして、コンテキストメニューから並べ替えコマンドを選択します。last による並べ替えを含む出力ノードの順序を定義ダイアログが表示されます。新たな並べ替えのルールを追加するには、新たな行を追加して、ソートキーに first 要素を入力します(以下のスクリーンショットを参照)。「OK」 をクリックして完了します。

 

DlgDefineSortOrder2

 

HTML 出力では、最初に苗字が、次に名前により並べ替えられた結果が表示されます。

 

SS_Sort_SortedOnLastFirst

 

 

 


(C) 2019 Altova GmbH