問題タブ [xslt-grouping]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
423 参照

xslt - 親ノードの一部を子ノード XSLT にコピー

ノードを親から子にコピーしたい。これがどのように達成できるかはよくわかりません。

私のソースxml

出力を次のように取得したい

XSLT 1.0 で解決したい。

これらのノードを子ノードにコピーしたい

ありがとう。

0 投票する
1 に答える
1631 参照

xslt - XSLT 子ノード 親ノードからコピー

ノードを親から子にコピーしたい。これがどのように達成できるかはよくわかりません。

私のソースxml

出力を次のように取得したい

XSLT 1.0 で解決したい。

これらのノードを子ノードにコピーしたい

ありがとう。

0 投票する
1 に答える
320 参照

xslt - muenchianグループ化でキーがどのように機能するか

xsltでmuenchian-groupingを実行しているときに、キーがどのように生成されるかについては、まだ答えが見つかりません。私が見つけた例はすべて、非常に単純なxmlファイルを持っています。次のxmlファイルがあるとします。

私がやりたいのは、各出荷の販売コードごとに注文明細をグループ化することです。

xsltファイルで、キーを次のように定義します。

そして、xmlファイルの最初の部分を作成した後、次のようにします。

<shipmentxmlファイルは現在のノードから解析され、構築されたキー<order-lineはその特定の出荷に対してのみノードを使用することを期待します。しかし、代わりに、ファイル内の<shipmentすべてのノードを含む3つのノードを取得<order-lineします。それで、キーが作成されるとき、xmlファイルは常にルートから解析されるように見えますか?そうですか?これを回避する方法はありますか?

0 投票する
1 に答える
709 参照

xslt - XSLT 1.0:キーを使用して一意の値を並べ替えますが、例外があります

私は次の単純化されたXML構造を持っています:

「Qualifierstring」と「revenueCenter」に応じてレコードセット(R)をグループ化する必要があります。私は完璧に機能するこのXSLTを思いついた:

キーを定義して一意のアイテムを選択し、グループを作成してレコードセット(R)を処理します。

しかし、「revenueCenter」9992と9993をグループ化するために、どのようにキーを定義できますか?2つの異なるキーを設定する必要がありますか?(ただし、テンプレートで2つのキーを使用するにはどうすればよいですか)または、既存のキーを値で拡張できますか?

XMLは次のようになります。

2012年5月24日更新: 私は実際に私が望むことを行うXSLTを思いついた、私は2つの異なるキーを使用している:

ソースXMLに適用すると、次の正しい出力が得られます。

このソリューションが機能するのは、除外して個別にグループ化する必要がある値がわかっているためです。

0 投票する
2 に答える
248 参照

xml - xslt を使用した xml のマージと再配置

Web から派生した XML を変換するために XSLT を使用しており、その場で同じものを output として示されるターゲット xml ファイルに変換します。いろいろ試してもまだできません。誰かこの変換を手伝ってくれませんか。

ソース XML

出力希望

グループ化はコード [hd1,hd2,hd3] に基づいており、同じコードと [hd1,hd2,hd3] を持つさまざまな要素がマージされ、異なるフィールドのみが表示されます。と . また、 xslt 1.0 を使用しています。

0 投票する
1 に答える
1270 参照

xslt - XSLT のグループ化と重複の除外

次の XML 入力ファイルがあります。

次の XML を作成したいと思います。

したがって、入力 XML のキーは、入力 XML の値ノードの値に基づいて、出力 XML でグループ化する必要があります。また、重複を削除する必要があります。入力 XML には値 6718 のキーが 2 回含まれており、出力 XML には 1 回だけ含まれています。

Saxon 9 HE で XSLT 2.0 を使用しています。

誰か助けてくれませんか?

[編集]

0 投票する
1 に答える
8114 参照

xml - Muenchian メソッドを使用した複数のキーでの XSLT グループ化

これが入力ファイルです。

これらのブロックはすべて、表示されて<allocfile>いないタグでラップされています。なぜでしょうか? そして、これらのブロックはすべて最上位の要素にラップされています<xml>

出力は

入力ファイルは、複数のキーに基づいてソートおよびグループ化する必要があります。関数と Muenchian メソッドを使用して進めましconcatたが、Web からはあまり役に立ちませんでした。XSLT 1.0 を使用しています。

グループ分けのルール

  • ファイル内のすべてのノードには<hd1>値があり1234..、これがキーによる最初のグループになり、出力に次のように表示されます。<Header1>

    • グループ化の 2 番目のキーはノード コードです。同じ値を持つノードがグループ化されます。として表示されます。コード ヘッダー
  • 2 番目のキーは、ノードG_HFUNoH、のグループですy。これらすべてのノードの値が同じである場合、それらはグループ化されます。出力に次のように表示されます<Header2>

  • ノード<alc><No>、 、 <DT>ではグループ化は行われません<AMOUNT>。それらは、各グループ内で異なる値を持っています。

0 投票する
1 に答える
749 参照

xslt - group-starting-with in での 2 つの条件のテスト

for-each-group で 2 つの可能なタグのうちの 1 つをテストする必要があります。これは可能ですか?正しい構文は何ですか?

「||」を試してみた しかし、パーサーからエラーが発生しました。Oxygen 12.1 で Saxon PE 9.3 を使用しています。

元。

0 投票する
2 に答える
307 参照

xml - 属性ごとの xslt グループ化

同じ親の下に複数のノードをグループ化して「圧縮」する必要がある複数のタイプの xml メッセージがあります (同じ親は、同じノード名を共有し、宣言されたすべての属性も等しいことを意味します)。例えば:

それらがすべて同じ CodeTL 属性を共有し、最後の 2 つは同じ CodeA,Start および End 属性を共有していることに注意してください。必要なのは、xslt を使用して次の出力を生成することです。

これははるかにクリーンであり、それを使用するアプリケーションによっては、処理時間とスペースを節約できます。

私が抱えている問題は、さまざまなノード名と属性 (および属性の数) を持つさまざまな種類の xml メッセージがあることですが、それらはすべて、ここに示している同じ構造を共有しています。それらすべてを処理する一般的な方法としては優れていますが、送信する必要があるすべての xml メッセージのカスタム コードを作成できるように、私が提供した例を XSLT に変換してくれるとありがたいです。

0 投票する
3 に答える
1971 参照

xml - XSLTを使用してグループ化されたリストを3列に出力します

グループ化された結果を3列で出力したい。私はテーブルを使用していないので、結果の3つのセクション(HTMLを参照)を並べて意味していると思います。

いずれかのノードの値に従って結果をグループ化し、ノードの値である見出しの下にグループ化しました。例えば:

次のようにフォーマットされます:

そしてこれはうまくいき、私はそれに満足しています。今私がやろうとしているのは、部門とその結果(つまり、この例では名前)を並べて3つの列を作成することです。私は9つの可能な部門を期待していますが、これは将来変更される可能性があります。

これが私のXSLTです(これまでのところ、上記のフォーマットだけで、列に対する作業はまだありません。この問題へのアプローチ方法がわかりません):

どんな助けでも大歓迎です!


ショーンの編集

OPと話し合った後、このユースケースは彼が何を望んでいるかを示していると思います。次のサンプル入力ドキュメントは、1人または2人の従業員がいる5つの部門を示しています。ノードの順序は重要ではありません。

ユースケース1:入力ドキュメント

出力はそのように変換されます(以下のリスト)。HTMLテーブルは、3列で構成されますが、1行のみで構成されます。各セルには、部門名を先頭にした部門従業員のHTML順不同リストが含まれます。各列には、部門の約3分の1が含まれ、最後の列はこの点で不規則になっています。トップダウン、次に左から右に読むと、部門はアルファベット順にソートする必要があります。各部門内で、従業員をアルファベット順にリストする必要があります。

ユースケース1:出力ドキュメント