問題タブ [node-set]

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 投票する
0 に答える
1218 参照

xslt - node-set の xslt apply-templates

XSL 1.0 を使用する必要があり、結果ツリーのフラグメントを含む xslt 変数があります。その変数にテンプレート スタイルを適用したいと考えています。

node-set 関数を使用してツリー フラグメントをノード セットに変換していますが、機能していないか、テンプレートの一致が見つからないかのいずれかです。マークアップ:

こんにちはイアンお元気ですか?

アイテムノードを変換する方法について何かアイデアはありますか?

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

xslt - XSLT v1.0 前のノードの属性に基づいてノード セットの属性を更新する

次の XML ファイルがあります。

そして、XSLT を使用して、前のノードの @StartingBit + @Size から @StartingBit 属性を適切に更新したいと思います。これは、現在のノードの @StartingBit 値になります。結果の XML は次のようになります。

これまでのところ、XSLT に対する私の最新の試みは次のとおりです。

上記の変換は、私が望むものを生成しません - 基本的に @StartingBit は変更されません。ノード ナビゲーションに習熟していないため、希望どおりの結果が得られません。変換を手伝ってくれる人はいますか? 前もって感謝します。

  • ローレンツ
0 投票する
1 に答える
468 参照

java - xslt ノード セットの例

java と xslt 1.0 を使用して、ノード セットをパラメーターとして渡すにはどうすればよいですか?

Java 側でノード セットがどのように形成されるかを知りたいです。

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

xml - 別のノードセットのfor-eachループにあるときに、元のノードセットにアクセスします

XSLT1.0を使用しています。基本的に、属性の値に基づいて出力を作成しようとしています。これが私が変換しているXMLの例です:

これは、「id」属性によって参照されているデータの例です。

これが私のコードの一部です:

@idの代わりに$idを使用する以外に、私の問題は、for-eachループに入った後に「行」テンプレートに渡されたノードを参照することです。元のXMLを前提として、次の出力が必要です。

代わりに、私は次のものを取得することしかできません:

一連の「if」ステートメントを使用して何もトークン化しないこともできますが、「include」属性の項目の順序が重要であるため、ノードセットが必要だと感じています。

これについての助けやより良い方法をいただければ幸いです。ありがとう!

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

xml - XSLT 1.0 ノード セットの取得

私は XSLT の初心者です。XSLT を使用して、JDK 6 を介して XML を XML に変換しています。

以下は、Web サービスから受け取ったソース XML です。

ソース XML:

XSLT:

上記の XSLT をソース XML に適用すると、次の出力 XML が得られます。

出力XML:

期待される出力:

問題は variable を作成するロジック内にありますPrefAirlines

以下のアプローチも試しましたが、期待される出力が得られませんでした。

単一の値の代わりにノードセットを取得できる関数はありますか? 助けてください。

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

variables - XSLT 変数からノード名を作成

これら2つの変数がある場合

変数「a」の名前と変数「b」の内容を持つノードを作成したいと思います。XSLT 1.0 といくつかの EXSLT 拡張機能 (それらの間のノード セット) で xsltproc を使用する必要があるため、その一部を達成しました。

実際にこれを出力します(今のところ空白は気にしません):

しかし:さらに操作するために、変数「x」をノードセットとして使用したいと思います(もちろん、私の実際の例はもっと複雑です)。私がしたことは、それを(exslt.org/commonを使用して)ノードセットに変換することでした。これは機能しているようですが、コンテンツにアクセスすることはできません。

何にもつながりません。$nodes/Total は有効な XPATH 1.0 式である必要があるため、 ' 500 'を期待していました。明らかに私は何かが欠けています。ポイントは、ノード名を動的に作成し<...>ても実際にはノードが作成されず、テキスト出力だけが作成されるということだと思います。ここで真のノード作成を実現するにはどうすればよいですか?

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

xml - この XSL コードの何が問題になっていますか?

変換を適用すると、例外が発生します。式はノード セットに評価される必要があります。

ここで、if ステートメントを最初のループのレベルに配置すると、変換を適切に適用できます。

「$a0 | $a1 | $a2」という式がノードセットと見なされないことが問題である場合、XSLT 1.0 を使用して同様の目標を達成するにはどうすればよいでしょうか?

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

xslt - Xpath あるノードから別のノードに存在しない値を選択する

私はサンプル XML を提供しており、XPATH を使用して、コース受講ではなくコース必須の値を取得する方法を知りたいと考えています。提供されたケースでは、コース受講には存在しないため、答えは Geog と Phys になります。

これは可能ですか?もしそうなら、どうすればこれを行うことができますか? どんな助けでも大歓迎です。

ありがとう

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

xslt - xslを使用して、属性値を想定せずに、属性値ごとに要素をグループ化して要素階層を変更しますか?

質問

xslを使用して、属性値を想定せずに、属性値で要素をグループ化して要素階層を変更するにはどうすればよいですか?

問題の説明

ドキュメントのコンテキストは次のとおりです。xmlは、<releaseHistory/>新しいバージョンがリリースされたときにソフトウェアフレームワークの変更メモ()を追跡します(<build/>)。このフレームワークにはいくつかのアプリ/コンポーネントがあります(<changes app='LibraryA|Driver|...'/>)。変更メモには、新機能またはバグ修正が記録されます(<list kind='New|Enhancement'/>)。

<li/>異なるビルドにまたがるすべての変更メモが、「app」属性値と「kind」属性値でグループ化されたリストにマージされ、リスト項目( )が「priority」属性でソートされるように、このドキュメントを変換したいと思います。

さらに、「app」および「kind」属性値については想定しないでください。スキーマが理想的でない場合は、必要に応じてxmlのスキーマを変更できることに注意してください。

現在のステータス

  • 私ができたこと:
    • 一意の「app」および「kind」属性値のリストを取得します。
    • 'app'と'kind'をパラメーターとして受け取り、xmlドキュメントをトラバースして、属性が引数と一致するすべての要素をマージするテンプレート
  • 何が欠けている:
    • 上記の一意の属性値のリストを「ループ」して、テンプレートを適用します

入力と期待される出力

xmlドキュメント:

期待される文書:

ソリューションの一部

私は「すでに」xslで一意の「app」および「kind」属性をリストすることができます。xslの現在の状態を詳しく見てみましょう

すべての個別の「app」属性値(LibraryA、Driver、...)を取得し<changes app='...'/>、それらを変数(paramの場合もあります)に格納します。

すべての異なる「種類」属性値を取得します(新規、拡張)<list kind='...'/>

<li/>指定された「アプリ」と「種類」(優先度順に)のすべてをパラメーターとマージするためのテンプレート:

さて、私が立ち往生appListVarしているのは、テンプレートをkindListVar適用するための「ループ」についてです。

すべての「アプリ」と「種類」がハードコーディングされている場合、次のようないくつかの呼び出しを行うことができます。

しかし、xmlドキュメントにある「アプリ」と「種類」をループしたいと思います。exsl:node-set()たとえば、私は

それでも、$applicationListVar/list/li要素をループする方法は?「ループ」はxslt-ilishに聞こえませんが、(確かに?)正しいアプローチではない可能性があります。

質問は長いです、私は実際の場合と比較してそれを単純化しようとしました。

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

ruby - マージされた Nokogiri::XML::NodeSets での XPath パフォーマンス?

Web サービスから 1 ページあたり 100 のデータを取得してい<row>ます。私のスクリプトは、これらのページを Nokogiri::XML::Nodeset に結合します。XPath によるノードセットの検索は非常に低速です。

このコードは、Web サービス呼び出しと XML 解析を置き換えますが、症状は同じです。

結果の NodeSet には、5 つのドキュメントからのノードが含まれます。これは問題のようです:

問題: 次のコードは約 10 秒で実行されます。マージされていないノードセットでは、これは瞬く間に行われます。

ノードセットをより良い方法でマージしたり、ドキュメントをマージしたりするソリューションを誰かが持っていますか?

このデータは実質的に 1 つの大きなノードセットであり、技術的な理由で Web サービスによって分割されたため、1 つのノードセットのみの動作を維持したいと考えています。