複数のXMLを別のXMLの要素値で並べ替える

ウィーン

基本的に、ここで私が試みているのは、XSLTを使用して、参照XML内の要素の値によって複数のXMLをマージおよびソートすることです。

> <xsl:variable name="refXml"
> select="document(concat(replace($refXmlTemp,'^file:',''),'/ref.xml'))"/>
> 
> 

> <xsl:for-each select="for $x in
> collection(string-join(($inputDir,'select=*.xml;recurse=yes;on-error=fail'),'?'))
> return 
>                         (if (matches($refXml/root/descendant-or-self::issue/id[normalize-space(.)=normalize-space($x/art/item/id)]/number,'\w+')
> and matches($x/art/item/title,'\w+')) then saxon:discard-document($x) 
>                         else ())">

> <xsl:sort select="$refXml/root/descendant-or-self::issue/id[normalize-space(.)=/art/item/id]/following-sibling::number"/>

上記のスニペットはすべての入力XMLをマージしましたが、ソートされていませんでした。

XSLTxsl:sort関数は、現在処理中のXML内の値を指す場合にのみ有効になるようです。

ソートの参照としてref.xmlを使用する方法についてアドバイスしてください。

ref.xmlの入力例は次のとおりです。

<root>   
 <issue>
    <id>wlu-101</id>
    <number>1</number>   
 </issue>
 <issue>
    <id>wlu-143</id>
    <number>2</number>
 </issue>
 <issue-group>
    <issue>
      <id>wlu-144</id>
      <number>3</number>
    </issue>
    <issue-group>
      <issue>
        <id>wlu-185</id>
        <number>4</number>
      </issue>
    </issue-group>
</issue-group> 
</root>
Martin Honnen

交換する<xsl:sort select="$refXml/root/descendant-or-self::issue/id[normalize-space(.)=/art/item/id]/following-sibling::number"/>

<xsl:sort select="key('ref', /art/item/id, $refXml)/number"/>

定義後

<xsl:key name="ref" match="issue" use="normalize-space(id)"/>

別の用途として<xsl:sort select="$refXml//issue[normalize-space(id)=current()/art/item/id]/number"/>

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

XSLT 1.0でxmlの複数のネストされた要素グループを並べ替える方法は?

複数のExcel列を個別に数値で並べ替える

dictのリストを複数の値で並べ替える

Pythonの複数のdictを値で並べ替える

複数の列を数値で並べ替える

タグ内の値でXMLを並べ替える

複数の値で辞書を並べ替える

行列内の行の要素を別の行列で並べ替える

ファイル内のXML要素を並べ替える

複数の列で並べ替える

ExtendscriptIndesignでXML要素を並べ替える

複数の数値のリストで辞書を並べ替える方法は?

複数の列の最大値で並べ替える

複数の列を並べ替える

行の複数の値を並べ替える

複数のnumpy配列を要素ごとに並べ替える

2つの別々の配列を数値で並べ替える方法は?

System.Data.DataTableを複数の並べ替え条件で並べ替える

複数の列を区別して並べ替える

bashで複数の小数を使用して数値を並べ替える

luaの複数の値でテーブルを並べ替える方法は?

辞書の複数の値を昇順で並べ替える方法は?

複数の配列要素をフィールドで並べ替える

jsonのキーを別のjson値で並べ替える方法

別の配列の値で配列を並べ替える

Java文字列配列を複数の数値で並べ替える

複数の区切られた数値で文字列を並べ替える

複数のブール値で並べ替える

Apache Spark(Java)でJavaRDDタプルを複数の値で並べ替える

TOP 一覧

  1. 1

    Unity:未知のスクリプトをGameObject(カスタムエディター)に動的にアタッチする方法

  2. 2

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  3. 3

    Ansibleで複数行のシェルスクリプトを実行する方法

  4. 4

    tkinterウィンドウを閉じてもPythonプログラムが終了しない

  5. 5

    Crashlytics:コンパイラー生成とはどういう意味ですか?

  6. 6

    GoDaddyでのCKEditorとKCfinderの画像プレビュー

  7. 7

    Windows 10 Pro 1709を1803、1809、または1903に更新しますか?

  8. 8

    Chromeウェブアプリのウェブビューの高さの問題

  9. 9

    モーダルダイアログを自動的に閉じる-サーバーコードが完了したら、Googleスプレッドシートのダイアログを閉じます

  10. 10

    Windows 10の起動時間:以前は20秒でしたが、現在は6〜8倍になっています

  11. 11

    Reactでclsxを使用する方法

  12. 12

    ファイル内の2つのマーカー間のテキストを、別のファイルのテキストのセクションに置き換えるにはどうすればよいですか?

  13. 13

    MLでのデータ前処理の背後にある直感

  14. 14

    グラフからテーブルに条件付き書式を適用するにはどうすればよいですか?

  15. 15

    Pythonを使用して同じ列の同じ値の間の時差を取得する方法

  16. 16

    mutate_allとifelseを組み合わせるにはどうすればよいですか

  17. 17

    ネットワークグラフで、ネットワークコンポーネントにカーソルを合わせたときに、それらを強調表示するにはどうすればよいですか?

  18. 18

    テキストフィールドの値に基づいて UIslider を移動します

  19. 19

    BLOBストレージからデータを読み取り、Azure関数アプリを使用してデータにアクセスする方法

  20. 20

    PowerShellの分割ファイルへのヘッダーの追加

  21. 21

    ソートされた検索、ターゲット値未満の数をカウント

ホットタグ

アーカイブ