2009-08-03 8 views
0

xmlをhtmlに変換するのにxslを使用しています。テーブルにはHTMLが作成されますが、重複していない項目のいくつかの問題が表示されます。 テーブル(各行ごとにxsl)(例:コンテキスト)を作成するのに一意のキーを使用しますが、この属性はテーブルにはありません。xslの処理について

ファイナルテーブルこの

context(invisible) attr1 attr2 attr3 
1      A  b x 
2      A  b x 
3      A  c x 
4      B  a x 

のようなものですが、今、同時に、私はその項目1を意味し、アイテム2が全く同じである別のプライマリキー、(1として& ATTR2両方ATTR1使用したいですxsl処理中に自動的に削除されます)、どのようにxslがこの目標を達成しましたか?

+4

XML入力の例と必要なHTML出力を追加してください。 – mkoeller

答えて

2

先行兄弟軸を使用して、2つの属性の一致をフィルタリングできます。このXMLを仮定:

<?xml version="1.0" encoding="UTF-8"?> 
<doc> 
    <row attr1="A" attr2="b" attr3="x"/> 
    <row attr1="A" attr2="b" attr3="x"/> 
    <row attr1="A" attr2="c" attr3="x"/> 
    <row attr1="B" attr2="a" attr3="x"/> 
</doc> 

このXPathはATTR1とATTR2が重複していない属性行のみが返されます。

//row[preceding-sibling::row[@attr1 = self::*/@attr1 and @attr2=self::*/@attr2]] 
関連する問題