問題タブ [muenchian-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 - Muenchian Grouping-ドキュメント全体ではなく、ノード内のグループ
XSLTでMuenchianグループ化を使用して、一致するノードをグループ化しようとしていますが、ソースXMLドキュメント全体ではなく、親ノード内でのみグループ化する必要があります。
XSLTとXMLを次のように指定します(サンプルコードの長さについてお詫びします)。
XSLT
XML
結果
<records>
それぞれをグループ化して、この結果を達成するにはどうすればよいですか。
xslt - XSLT - インデックスによるキーへのアクセス - たとえば Muenchian Grouping で
私の教科書 (Patrick Carey による XML 第 2 版) では、「Muenchian Grouping」を使用して一意の選択を見つける例を示しています。私が理解していない部分は次のとおりです。
例の進行で、ここに到達します: " property[generate-id()=generate-id(key("cityNames", "Cutler" )[1])] " '[1]' のインデックスにより、選択の最初の 'Cutler'。上記の XML を指定すると、「Cutler」が返されます
ここで、例は次のように進みます: " property[generate-id()=generate-id(key("cityNames", city )[1])] " これは、これが最初のものだけを見つけることを示しています (したがって一意)キー内の各都市の。都市全体の独自の価値のグループを作成します。上記の XML を指定すると、"Argyle Broxton Cutler Fenmore Padua Stratmore Oseola" が返されます(倍数がないことに注意してください)。
さて、私の質問は次のとおりです。2 番目のステートメントが 1 つだけではなく、値の範囲を返すのはなぜですか?
ありがとう
xslt - XSLTのグループ化とサブグループ化
私は次のコードを持っています:
私のXML:
以下を出力します。
出力を最初にカテゴリ別にグループ化し、次に各カテゴリのクライアントごとにグループ化することを望みます。これに対する洞察は素晴らしいでしょう。
基本的に、カテゴリ別にグループ化した後、カテゴリ内の1つのクライアントのみを表示し、そのカテゴリ内のそのクライアントの各プロモーションを表示します。
xml - XSLTを使用した合計とカテゴリのグループ化
XSLTを使用して、以下を変更するにはどうすればよいですか。
の中へ:
プエルトリコが州になった場合、私は困惑するので、各州の名前を明示的にコーディングせずに。
xslt - XSLT:フィルター処理されたXMLレコードセットの一意の行を表示します
特定のフィールド(つまり、Manager = "Frannklin")でフィルタリングしているレコードセットがあります。次に、別のフィールド(クライアント)に基づいて、フィルター処理されたレコードセットの結果をグループ化します。Muenchianのグループ化を正しく機能させることができないようです。
何かご意見は?
TIA!
CG
私のフィルターは次のようになります。
<xsl:key name="k1" match="Row" use="@Manager"/>
<xsl:param name="dvt_filterval">Frannklin</xsl:param>
<xsl:variable name="Rows" select="/dsQueryResponse/Rows/Row" />
<xsl:variable name="FilteredRowsAttr" select="$Rows[normalize-space(@*[name()=$FieldNameNoAtSign])=$dvt_filterval ]" />
テンプレート
<xsl:apply-templates select="$FilteredRowsAttr[generate-id() = generate-id(key('k1',@Manager))]" mode="g1000a">
</xsl:apply-templates>
<xsl:template match="Row" mode="g1000a">
クライアント:<xsl:value-of select="@Client"/>
</xsl:template>
結果取得中
クライアント:ベータ
クライアント:ベータ
クライアント:ベータ
クライアント:ガンマ
クライアント:デルタ
結果欲しい
クライアント:ベータ
クライアント:ガンマ
クライアント:デルタ
サンプルレコードセット
<dsQueryResponse>
<Rows>
<Row Manager="Smith" Client="Alpha " Project_x0020_Name="Annapolis" PM_x0023_="00123" />
<Row Manager="Ford" Client="Alpha " Project_x0020_Name="Brown" PM_x0023_="00124" />
<Row Manager="Cronkite" Client="Beta " Project_x0020_Name="Gannon" PM_x0023_="00129" />
<Row Manager="Clinton, Bill" Client="Beta " Project_x0020_Name="Harvard" PM_x0023_="00130" />
<Row Manager="Frannklin" Client="Beta " Project_x0020_Name="Irving" PM_x0023_="00131" />
<Row Manager="Frannklin" Client="Beta " Project_x0020_Name="Jakarta" PM_x0023_="00132" />
<Row Manager="Frannklin" Client="Beta " Project_x0020_Name="Vassar" PM_x0023_="00135" />
<Row Manager="Jefferson" Client="Gamma " Project_x0020_Name="Stamford" PM_x0023_="00141" />
<Row Manager="Cronkite" Client="Gamma " Project_x0020_Name="Tufts" PM_x0023_="00142" />
<Row Manager="Frannklin" Client="Gamma " Project_x0020_Name="UCLA" PM_x0023_="00143" />
<Row Manager="Jefferson" Client="Gamma " Project_x0020_Name="Villanova" PM_x0023_="00144" />
<Row Manager="Carter" Client="Delta " Project_x0020_Name="Drexel" PM_x0023_="00150" />
<Row Manager="Clinton" Client="Delta " Project_x0020_Name="Iona" PM_x0023_="00151" />
<Row Manager="Frannklin" Client="Delta " Project_x0020_Name="Temple" PM_x0023_="00152" />
<Row Manager="Ford" Client="Epsilon " Project_x0020_Name="UNC" PM_x0023_="00157" />
<Row Manager="Clinton" Client="Epsilon " Project_x0020_Name="Berkley" PM_x0023_="00158" />
</Rows>
</dsQueryResponse>
xslt - 日付で定義された要素をタスクで定義された要素に再フォーマットするためのXSLT1.0グループ化
トリッキーなXSLT変換があり、アドバイスをお願いします。私のxmlは次のようにフォーマットされています。
出力xmlは次のようになります。
基本的に、入力として、「Person」オブジェクトは特定の日付のすべてのtask/workTimeを収集します。出力として、「Person」オブジェクトが特定のタスクの日付/作業時間を収集するようにします。
XLST1.0を使用する必要があります。キーを使用してグループ化を使用しようとしていますが、非常に戸惑います。
あなたの助けに感謝。ダニエル
xslt - XSLT を使用して同じ名前のノードを列挙する
多くの場合、ノードを複数回 (毎回異なるデータで) 含む多くの XML ファイルがあります。例:
望ましい出力は次のようになります。
問題は、重複するすべてのノード名のリストがないため、XSLT をすべてのノードで実行し、複数回存在するノードのみに番号を付ける必要があることです。それは可能ですか?
誰もそれを達成する方法について良い考えを持っていますか?
ありがとう!
xslt - XSLT 1.0: グループ化と重複の削除
以下のように、重複をグループ化して削除する必要があるxmlグループ化の課題があります。
name/taskID/date の特定のオカレンスについては、最初の 1 つだけが選択されることに注意してください。この例では、
脇に残されます。
以下は、予想される出力です。
以下のキーを使用して、XSLT 1.0 で muenchian グループ化を使用しようとしました。
しかし、どうすれば最初に出現したものだけを拾うことができますか
? どうやら2段の鍵が必要みたい!?
xslt - XSLT 分割出力ファイル - muenchian グループ化
大量のデータを変換するために XSLT ファイルがあります。ファイルのサイズを特定のしきい値以下に制限するために、チェーンされた XSLT として、または複数の出力ファイルを作成できる現在の XSLT 内に「分割」機能を追加したいと考えています。入力 XML が次のようになっているとします。
XSLT ファイルは、ミューンチャン グループ化を使用して以下のようになります。
ただし、出力として、大きなファイルではなく、以下のようないくつかのファイルが必要です。この例では、ファイルごとに 1 つの名前のみを設定していますが、これはパラメーターである必要があります。
一人称出力ファイル:
2 人称の出力ファイル:
XSLT 1.0 を使用する場合、どのようなアプローチが望ましいでしょうか? 出力ファイルを分割するために、XSLT 内でチェーンされた XSLT を呼び出す方法はありますか?
乾杯。
xslt - XSLT: グループ化に基づいて複数の xml ファイルに出力
以下のxmlがあると仮定しましょう。目標は、FirstName でグループ化し、Person を別の xml ファイルにエクスポートすることです。各出力 xml ファイルには、最大 X 個の異なるFirstNameのみを含める必要があります。
以下は、X = 3 での目的の変換の例です。
XML 入力:
3 つの異なる FirstName を持つ XML 出力 1
FirstName が 2 つ残っている XML 出力 2
Muenchian のグループ化を と一緒に使用して、複数の出力ファイルを生成できるように思えます。ただし、中心的な問題は、新しいファイルにエクスポートする前に、人数のしきい値をどこに設定できるかということです。