問題タブ [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.

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

xml - Muenchian Grouping-ドキュメント全体ではなく、ノード内のグループ

XSLTでMuenchianグループ化を使用して、一致するノードをグループ化しようとしていますが、ソースXMLドキュメント全体ではなく、親ノード内でのみグループ化する必要があります。

XSLTとXMLを次のように指定します(サンプルコードの長さについてお詫びします)。

XSLT

XML

結果

<records>それぞれをグループ化して、この結果を達成するにはどうすればよいですか。

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

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 つだけではなく、値の範囲を返すのはなぜですか?

ありがとう

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

xslt - XSLTのグループ化とサブグループ化

私は次のコードを持っています:

私のXML:

以下を出力します。

出力を最初にカテゴリ別にグループ化し、次に各カテゴリのクライアントごとにグループ化することを望みます。これに対する洞察は素晴らしいでしょう。

基本的に、カテゴリ別にグループ化した後、カテゴリ内の1つのクライアントのみを表示し、そのカテゴリ内のそのクライアントの各プロモーションを表示します。

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

xml - XSLTを使用した合計とカテゴリのグループ化

XSLTを使用して、以下を変更するにはどうすればよいですか。

の中へ:

プエルトリコが州になった場合、私は困惑するので、各州の名前を明示的にコーディングせずに。

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

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>

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

xslt - 日付で定義された要素をタスクで定義された要素に再フォーマットするためのXSLT1.0グループ化

トリッキーなXSLT変換があり、アドバイスをお願いします。私のxmlは次のようにフォーマットされています。

出力xmlは次のようになります。

基本的に、入力として、「Person」オブジェクトは特定の日付のすべてのtask/workTimeを収集します。出力として、「Person」オブジェクトが特定のタスクの日付/作業時間を収集するようにします。

XLST1.0を使用する必要があります。キーを使用してグループ化を使用しようとしていますが、非常に戸惑います。

あなたの助けに感謝。ダニエル

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

xslt - XSLT を使用して同じ名前のノードを列挙する

多くの場合、ノードを複数回 (毎回異なるデータで) 含む多くの XML ファイルがあります。例:

望ましい出力は次のようになります。

問題は、重複するすべてのノード名のリストがないため、XSLT をすべてのノードで実行し、複数回存在するノードのみに番号を付ける必要があることです。それは可能ですか?

誰もそれを達成する方法について良い考えを持っていますか?

ありがとう!

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

xslt - XSLT 1.0: グループ化と重複の削除

以下のように、重複をグループ化して削除する必要があるxmlグループ化の課題があります。

name/taskID/date の特定のオカレンスについては、最初の 1 つだけが選択されることに注意してください。この例では、

脇に残されます。

以下は、予想される出力です。

以下のキーを使用して、XSLT 1.0 で muenchian グループ化を使用しようとしました。

しかし、どうすれば最初に出現したものだけを拾うことができますか

? どうやら2段の鍵が必要みたい!?

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

xslt - XSLT 分割出力ファイル - muenchian グループ化

大量のデータを変換するために XSLT ファイルがあります。ファイルのサイズを特定のしきい値以下に制限するために、チェーンされた XSLT として、または複数の出力ファイルを作成できる現在の XSLT 内に「分割」機能を追加したいと考えています。入力 XML が次のようになっているとします。

XSLT ファイルは、ミューンチャン グループ化を使用して以下のようになります。

ただし、出力として、大きなファイルではなく、以下のようないくつかのファイルが必要です。この例では、ファイルごとに 1 つの名前のみを設定していますが、これはパラメーターである必要があります。

一人称出力ファイル:

2 人称の出力ファイル:

XSLT 1.0 を使用する場合、どのようなアプローチが望ましいでしょうか? 出力ファイルを分割するために、XSLT 内でチェーンされた XSLT を呼び出す方法はありますか?

乾杯。

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

xslt - XSLT: グループ化に基づいて複数の xml ファイルに出力

以下のxmlがあると仮定しましょう。目標は、FirstName でグループ化し、Person を別の xml ファイルにエクスポートすることです。各出力 xml ファイルには、最大 X 個の異なるFirstNameのみを含める必要があります。

以下は、X = 3 での目的の変換の例です。

XML 入力:

3 つの異なる FirstName を持つ XML 出力 1

FirstName が 2 つ残っている XML 出力 2

Muenchian のグループ化を と一緒に使用して、複数の出力ファイルを生成できるように思えます。ただし、中心的な問題は、新しいファイルにエクスポートする前に、人数のしきい値をどこに設定できるかということです。