問題タブ [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.
xml - 属性をキー ( xsl ) として使用して、同様のデータ xml ノードをマージします。
この形式の N セクションを持つファイルを変換したい:
の中へ
属性セクションの値をキーとして使用して要素を作成します。
私は何かを試しましたが、できませんでした。
私たちを手伝ってくれますか?
ありがとう。
xml - フラット ツリーの問題からネストされたリストを作成する XSL
フラット ツリーからネストされたリストを作成できる必要があります。たとえば、入力は次のようになります。
出力は次のようにネストする必要があります。
私はいくつかのアプローチを試みましたが、それを取得できないようです。どんな助けでも大歓迎です。注: XSLT 1.0 を使用してこれを行う必要があります。
xslt - xsltの属性によるグループ化
こんにちは私はこの問題で少し立ち往生しています私のxmlは次のとおりです
として出力できるようにしたい
ある種のミュンヒアングループを使用する必要があると確信していますが、特定の使用法のために頭を動かすのに苦労しています。
xslt - 要素のグループ化と重複ノードの削除 - XSLT 1.0
ドキュメント全体ではなく、ノード内でグループ化する Muenchian Grouping を見てきましたが、うまくいきません。Muenchian の方法だけでは、私にとってもそれはできません。
XSLT 1.0: grouping and remove duplicateも見ましたが、完全にはフォローできません。
次の XML があります。
結果は次のようになります。
したがって、 の<PriceValue>
要素を一致させるには<Recordset>
、それぞれのすべて<CodeBusinessUnits>
を にリストする必要があります<Stores>
。そうでない場合は、追加の<Prices>
ノードを作成する必要があります。
何時間も試してみましたが、店舗番号が常に重複しているか、PriceValue が同じであっても集計されません。
xslt - XSLT1.0複数のレベルでの複数の値のグループ化
- コメントに応じて編集*
こんにちは、
私はXSLT初心者であり、助けが必要です。XSLT 1.0でフィルター/グループの組み合わせを実行しようとしています(このアプリケーションではXSLT 2.0を使用できません)。
これがxmlの例です
ここで私がやりたいのは、出力htmlです。ここで、XMLのサブセットを取得し、<type>
ランクに基づいてグループ化します。たとえば、ユーザーがタイプMetalのすべてのアイテムを選択した場合、出力は次のようになります。
<p class="nospace"><font color="#800000">
<b>Rank 1</b></font></p>
<li id="mylist"><b>Widget 3</b></li>
<br\>
<p class="nospace"><font color="#800000">
<b>Rank 2</b></font></p>
<li id="mylist"><b>Widget 1</b></li>
<br\>
ユーザーユーザーがタイプOldを選択した場合、出力は次のようになります。
<p class="nospace"><font color="#800000">
<b>Rank 2</b></font></p>
<li id="mylist"><b>Widget 1</b></li>
<li id="mylist"><b>Widget 2</b></li>
<br\>
ランクに沿ってキーを使用してグループ化するのは簡単ですが、両方を実行しようとしても機能しません。これが私が試したxsltのサンプルです:
これから得られる結果は、実際に必要なxmlのサブセットを取得しますが、さまざまなランク値もすべて表示します。$typeParamで指定されたタイプのランクだけに制限したいと思います。
for-eachステートメントをコードの前半に移動し、ifステートメントを変更して$ typeParamを選択しようとしましたが、どちらも機能しません。キーをランクとタイプと連結しようとしましたが、それも機能しないようです($ typeParamのタイプがtypesの最初の子である場合にのみ機能します)。
ありがとう
ジェフ
xslt - XSLTはいくつかの要素を属性に変換し、属性値でソートします
重複の可能性:
XSLT が属性の値に基づいてノードをグループ化できない
私には独特の状況があります。XSLT を使用して、ある XML を別の XML に変換しようとしています。ここに私のソースXMLがあります
そして、これを次のxmlに変換するにはXSLが必要です
ご覧のとおり、タイプに基づいて、すべての「共通」属性ノードを 1 つの属性ノードに配置しています。また、Attributes/Attribute/Name = 'Vendor Model' である Attributes/Attribute/Value から Items/item/@shortname を取得しています。longname と sku には同じ値が使用されます。これは、Name=FamilyName & Items/Item/@Vvalue で、Name=DepartmentName & Items/Item/@Value で、Name=GroupName の Items/Item/@value から Items/Item/@categorypath をプルしています。
部分的にこの形式に変換できます。ただし、Attr ノードを集約して、Attributes/@type に基づいて並べ替えることができません。
前もって感謝します
xml - フラット ツリーの問題からネストされたリストを作成する拡張 XSL
少し前によく似た質問 ([1]: XSL to create nested list from flat tree problem "Create nested list from flat tree problem") をしたのですが、少し問題が拡大してしまいました。最初は、リスト内にネストされた段落を考慮していませんでした。したがって、次の入力を使用します。
この出力が必要です:
リスト内にないインデントされた段落のインスタンスもあるかもしれませんが、このサルを背中から下ろしたら、それを理解できると思います。私は XSLT 1.0 を使用する必要があります。
grouping - XSLT 1.0 同じレベルで同じ名前を持つが値が異なるノードの値のグループ化
私はいくつかの助けを使うことができます。
以下は、私の XML の実例です。
私の xslt のトリミングされたサンプル バージョンは次のとおりです。
私がやりたいことは、カラー ノードで XSLT 1.0 (Muenchian メソッドを使用) でグループ化することです。そのため、html 出力は次のようになります。
これまでのところ、私のコードはこれを行うことができますが、最初のエントリしか取得できません。つまり、上記の例では、現在の出力は次のとおりです。
解決策のヘルプと、これが発生する理由の説明をいただければ幸いです。
ありがとう!ジェフ
xslt - ネストされた要素を維持するためのグループ化方法 XSLT 2.0 - 余分なものを分離する
箇条書き項目をグループ化し、いくつかのリスト要素内に箇条書き項目の 2 番目のリストとして埋め込んでいます。グループ化するアイテムを取得できますが、再帰テンプレートがドキュメント内の現在の位置から最後まですべてを選択しています。ネストされたリストの終点を設定する必要があります。
私の出力は次のようになります。
ただし、次のようにする必要があります (最初の li の下のサブ箇条書き 5 と 6 を除く):
XSLT でサブブレットを適切にグループ化して正しい位置に配置する方法がわかりません。
ここに私の情報源があります:
ここに私のスタイルシートがあります:
2.0 でこれを達成する方法について何か提案はありますか? いくつかのカウント変数を作成しようとしましたが、現在のグループ コンテキストの外でエンドポイントを確立することにまだ成功していません。これを行うには、明白な (そしてよりエレガントな) 方法が必要であることはわかっています。
xslt-grouping - group by xslt によって返される要素の一覧表示
こんにちは、私は次のxmlを持っています
次の xslt を使用して年ごとにグループ化します
これは出力しています。私が望む出力にかなり近いです。
私が欲しいのは、単にすべての名前に番号を付けることです(名前の総数から1までの降順)。
変数を新しい値に再割り当てできれば簡単ですが、それは不可能だと思うので、別の解決策を見つける必要があります。誰でもこの問題を解決する方法を見つけるのを手伝ってくれますか?
ありがとう