私とXSL(二)第1/4ページを勉強します。
3417 ワード
表1、演算子と特殊文字
演算子
説明
を選択します。
サブ要素を選択して、左の要素の直接サブ要素を返します。「/」が一番左にある場合は、ルートのノードを選択する直接サブ要素を表します。
//
再帰的に減少し、深さを問わず、指定された要素を検索する。一番左にある場合は、ルートノードから再帰的にドロップして指定要素を検索します。
..。
現在の要素を表します
*
ワイルドカード、任意の要素を選択し、名前を考慮しない
@
属性値を取得し、属性名のプレフィックスとします。
@*
ワイルドカード、任意の属性を選択し、名前を考慮しない
:
名前の範囲を区切り、名前の範囲を、プレフィックスと要素または属性名から分離します。
!*
関連ノードに指定方法を適用する
()*
優先順位を明確に指定する
[]
フィルタスタイルを適用
[]*
集合中の要素を示すために、下付き演算子
表二、論理演算子
オプション
説明
and$and$または&&&
論理和
orドルor 12462;12462;
論理または
not()$not$
論理的でない
表三、関係演算子
オプション
説明
=または$eq
五分五分
==または$ieq
等しい(大文字と小文字は区別しない)
!=または$ne
待たない
$ine$
いいえ、大文字と小文字は区別しません。
<または$lt$
以下
$ilt
小さい(大文字と小文字は区別しない)
<=>または$
以下
$ile
小なりイコール(大文字と小文字を区別しない)
>または$gt$
大きい
$igt
大きい(大文字と小文字を区別しない)
>==または$ge$
大なりイコール
$ige$
大なりイコール(大文字と小文字を区別しない)
ドルです
集合演算子は、セット内のすべての項目が条件を満たすと「真」に戻ります。
$any
集合演算子は、セット内の任意の項目が条件を満たすと「真」に戻ります。
𞓜
集合演算子は、2つの集合の結合を返します。
例1:
履歴書から「WEB開発」のスキルを持つ人の名前とE-Mailを探します。文書構造を次のように仮定します。
sex birthday skill 1 skill 2skill 2>…skill>skill>skyleskill>skill>skill>skyle/skyle/s
以上のような構造の個人履歴書から、WEB開発の「スキルを持つすべての人の名前とE-MailのXSL文書構造を探してみました。
<TABLE border=“1”celspacing=“0”><TH>名前E-MailE-Mail<<<<<<<<>>><<<<<<<<<>>>Vsl>sl:for-each>
説明:
1.[]——選択条件を示し、条件を満たす個人履歴書のみが表示されます。
2.$any.--一人には様々な技能があるので、プレフィックスとして$anyを加えて、一人一人の技能を全部比較できるようにします。
3.skyle='WEB開発'——選別条件。
例二、
上のXML文書を例として、1977/1/1前に生まれた人の名前と技能とE-Mailを選択したいなら、該当するXSL文書の構造は以下の通りである(誕生日フォーマットはyyy/mm/ddと仮定する):
<TABLE border=“1”cell lspacing=“0”><TH>名前技能E E-MailE E-Mail<TD><TD>><TD>>>>>>><TDevaseslexslexslexslexvaclclclclclclclclclclclclclclclclclclcle<TD<TD<TD>>>>>>>>>>>>>>>>>>>>>>>><TD<TD<//>
説明:
1.bithday$lt''1977/1/1'——検索条件は、ここで「<」を使うとエラーが発生しますので、「$lt$」を使うと以下を表します。
2.スカル[0]——スカルを選択する第一項を表します。
3.skyil[index()>0]は、skyilの第二項以降(第二項を含む)を選択した項目を意味します。
4.xsl:value-of select=「.」は現在のタグを選択する値を表します。
index()、formatIndex()、child Number()など、前回および今回の例ではいくつかの関数が現れていますが、その意味はまだよく分かりませんか?次の課に注目してください。
1 234次のページ全文を読む
演算子
説明
を選択します。
サブ要素を選択して、左の要素の直接サブ要素を返します。「/」が一番左にある場合は、ルートのノードを選択する直接サブ要素を表します。
//
再帰的に減少し、深さを問わず、指定された要素を検索する。一番左にある場合は、ルートノードから再帰的にドロップして指定要素を検索します。
..。
現在の要素を表します
*
ワイルドカード、任意の要素を選択し、名前を考慮しない
@
属性値を取得し、属性名のプレフィックスとします。
@*
ワイルドカード、任意の属性を選択し、名前を考慮しない
:
名前の範囲を区切り、名前の範囲を、プレフィックスと要素または属性名から分離します。
!*
関連ノードに指定方法を適用する
()*
優先順位を明確に指定する
[]
フィルタスタイルを適用
[]*
集合中の要素を示すために、下付き演算子
表二、論理演算子
オプション
説明
and$and$または&&&
論理和
orドルor 12462;12462;
論理または
not()$not$
論理的でない
表三、関係演算子
オプション
説明
=または$eq
五分五分
==または$ieq
等しい(大文字と小文字は区別しない)
!=または$ne
待たない
$ine$
いいえ、大文字と小文字は区別しません。
<または$lt$
以下
$ilt
小さい(大文字と小文字は区別しない)
<=>または$
以下
$ile
小なりイコール(大文字と小文字を区別しない)
>または$gt$
大きい
$igt
大きい(大文字と小文字を区別しない)
>==または$ge$
大なりイコール
$ige$
大なりイコール(大文字と小文字を区別しない)
ドルです
集合演算子は、セット内のすべての項目が条件を満たすと「真」に戻ります。
$any
集合演算子は、セット内の任意の項目が条件を満たすと「真」に戻ります。
𞓜
集合演算子は、2つの集合の結合を返します。
例1:
履歴書から「WEB開発」のスキルを持つ人の名前とE-Mailを探します。文書構造を次のように仮定します。
以上のような構造の個人履歴書から、WEB開発の「スキルを持つすべての人の名前とE-MailのXSL文書構造を探してみました。
<TABLE border=“1”celspacing=“0”><TH>名前E-MailE-Mail
説明:
1.[]——選択条件を示し、条件を満たす個人履歴書のみが表示されます。
2.$any.--一人には様々な技能があるので、プレフィックスとして$anyを加えて、一人一人の技能を全部比較できるようにします。
3.skyle='WEB開発'——選別条件。
例二、
上のXML文書を例として、1977/1/1前に生まれた人の名前と技能とE-Mailを選択したいなら、該当するXSL文書の構造は以下の通りである(誕生日フォーマットはyyy/mm/ddと仮定する):
<TABLE border=“1”cell lspacing=“0”><TH>名前技能E E-MailE E-Mail
説明:
1.bithday$lt''1977/1/1'——検索条件は、ここで「<」を使うとエラーが発生しますので、「$lt$」を使うと以下を表します。
2.スカル[0]——スカルを選択する第一項を表します。
3.skyil[index()>0]は、skyilの第二項以降(第二項を含む)を選択した項目を意味します。
4.xsl:value-of select=「.」は現在のタグを選択する値を表します。
index()、formatIndex()、child Number()など、前回および今回の例ではいくつかの関数が現れていますが、その意味はまだよく分かりませんか?次の課に注目してください。
1 234次のページ全文を読む