問題タブ [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.
xslt - 親ノードの一部を子ノード XSLT にコピー
ノードを親から子にコピーしたい。これがどのように達成できるかはよくわかりません。
私のソースxml
出力を次のように取得したい
XSLT 1.0 で解決したい。
これらのノードを子ノードにコピーしたい
ありがとう。
xslt - XSLT 子ノード 親ノードからコピー
ノードを親から子にコピーしたい。これがどのように達成できるかはよくわかりません。
私のソースxml
出力を次のように取得したい
XSLT 1.0 で解決したい。
これらのノードを子ノードにコピーしたい
ありがとう。
xslt - muenchianグループ化でキーがどのように機能するか
xsltでmuenchian-groupingを実行しているときに、キーがどのように生成されるかについては、まだ答えが見つかりません。私が見つけた例はすべて、非常に単純なxmlファイルを持っています。次のxmlファイルがあるとします。
私がやりたいのは、各出荷の販売コードごとに注文明細をグループ化することです。
xsltファイルで、キーを次のように定義します。
そして、xmlファイルの最初の部分を作成した後、次のようにします。
<shipment
xmlファイルは現在のノードから解析され、構築されたキー<order-line
はその特定の出荷に対してのみノードを使用することを期待します。しかし、代わりに、ファイル内の<shipment
すべてのノードを含む3つのノードを取得<order-line
します。それで、キーが作成されるとき、xmlファイルは常にルートから解析されるように見えますか?そうですか?これを回避する方法はありますか?
xslt - XSLT 1.0:キーを使用して一意の値を並べ替えますが、例外があります
私は次の単純化されたXML構造を持っています:
「Qualifierstring」と「revenueCenter」に応じてレコードセット(R)をグループ化する必要があります。私は完璧に機能するこのXSLTを思いついた:
キーを定義して一意のアイテムを選択し、グループを作成してレコードセット(R)を処理します。
しかし、「revenueCenter」9992と9993をグループ化するために、どのようにキーを定義できますか?2つの異なるキーを設定する必要がありますか?(ただし、テンプレートで2つのキーを使用するにはどうすればよいですか)または、既存のキーを値で拡張できますか?
XMLは次のようになります。
2012年5月24日更新: 私は実際に私が望むことを行うXSLTを思いついた、私は2つの異なるキーを使用している:
ソースXMLに適用すると、次の正しい出力が得られます。
このソリューションが機能するのは、除外して個別にグループ化する必要がある値がわかっているためです。
xml - xslt を使用した xml のマージと再配置
Web から派生した XML を変換するために XSLT を使用しており、その場で同じものを output として示されるターゲット xml ファイルに変換します。いろいろ試してもまだできません。誰かこの変換を手伝ってくれませんか。
ソース XML
出力希望
グループ化はコード [hd1,hd2,hd3] に基づいており、同じコードと [hd1,hd2,hd3] を持つさまざまな要素がマージされ、異なるフィールドのみが表示されます。と . また、 xslt 1.0 を使用しています。
xslt - XSLT のグループ化と重複の除外
次の XML 入力ファイルがあります。
次の XML を作成したいと思います。
したがって、入力 XML のキーは、入力 XML の値ノードの値に基づいて、出力 XML でグループ化する必要があります。また、重複を削除する必要があります。入力 XML には値 6718 のキーが 2 回含まれており、出力 XML には 1 回だけ含まれています。
Saxon 9 HE で XSLT 2.0 を使用しています。
誰か助けてくれませんか?
[編集]
xml - Muenchian メソッドを使用した複数のキーでの XSLT グループ化
これが入力ファイルです。
これらのブロックはすべて、表示されて<allocfile>
いないタグでラップされています。なぜでしょうか? そして、これらのブロックはすべて最上位の要素にラップされています<xml>
。
出力は
入力ファイルは、複数のキーに基づいてソートおよびグループ化する必要があります。関数と Muenchian メソッドを使用して進めましconcat
たが、Web からはあまり役に立ちませんでした。XSLT 1.0 を使用しています。
グループ分けのルール
ファイル内のすべてのノードには
<hd1>
値があり1234..
、これがキーによる最初のグループになり、出力に次のように表示されます。<Header1>
- グループ化の 2 番目のキーはノード コードです。同じ値を持つノードがグループ化されます。として表示されます。コード ヘッダー
2 番目のキーは、ノード
G_H
、FUN
、oH
、のグループですy
。これらすべてのノードの値が同じである場合、それらはグループ化されます。出力に次のように表示されます<Header2>
ノード
<alc>
、<No>
、 、<DT>
ではグループ化は行われません<AMOUNT>
。それらは、各グループ内で異なる値を持っています。
xslt - group-starting-with in での 2 つの条件のテスト
for-each-group で 2 つの可能なタグのうちの 1 つをテストする必要があります。これは可能ですか?正しい構文は何ですか?
「||」を試してみた しかし、パーサーからエラーが発生しました。Oxygen 12.1 で Saxon PE 9.3 を使用しています。
元。
xml - 属性ごとの xslt グループ化
同じ親の下に複数のノードをグループ化して「圧縮」する必要がある複数のタイプの xml メッセージがあります (同じ親は、同じノード名を共有し、宣言されたすべての属性も等しいことを意味します)。例えば:
それらがすべて同じ CodeTL 属性を共有し、最後の 2 つは同じ CodeA,Start および End 属性を共有していることに注意してください。必要なのは、xslt を使用して次の出力を生成することです。
これははるかにクリーンであり、それを使用するアプリケーションによっては、処理時間とスペースを節約できます。
私が抱えている問題は、さまざまなノード名と属性 (および属性の数) を持つさまざまな種類の xml メッセージがあることですが、それらはすべて、ここに示している同じ構造を共有しています。それらすべてを処理する一般的な方法としては優れていますが、送信する必要があるすべての xml メッセージのカスタム コードを作成できるように、私が提供した例を XSLT に変換してくれるとありがたいです。
xml - XSLTを使用してグループ化されたリストを3列に出力します
グループ化された結果を3列で出力したい。私はテーブルを使用していないので、結果の3つのセクション(HTMLを参照)を並べて意味していると思います。
いずれかのノードの値に従って結果をグループ化し、ノードの値である見出しの下にグループ化しました。例えば:
次のようにフォーマットされます:
そしてこれはうまくいき、私はそれに満足しています。今私がやろうとしているのは、部門とその結果(つまり、この例では名前)を並べて3つの列を作成することです。私は9つの可能な部門を期待していますが、これは将来変更される可能性があります。
これが私のXSLTです(これまでのところ、上記のフォーマットだけで、列に対する作業はまだありません。この問題へのアプローチ方法がわかりません):
どんな助けでも大歓迎です!
ショーンの編集
OPと話し合った後、このユースケースは彼が何を望んでいるかを示していると思います。次のサンプル入力ドキュメントは、1人または2人の従業員がいる5つの部門を示しています。ノードの順序は重要ではありません。
ユースケース1:入力ドキュメント
出力はそのように変換されます(以下のリスト)。HTMLテーブルは、3列で構成されますが、1行のみで構成されます。各セルには、部門名を先頭にした部門従業員のHTML順不同リストが含まれます。各列には、部門の約3分の1が含まれ、最後の列はこの点で不規則になっています。トップダウン、次に左から右に読むと、部門はアルファベット順にソートする必要があります。各部門内で、従業員をアルファベット順にリストする必要があります。