問題タブ [xml-namespaces]
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 - Delphi - IXMLNode の名前空間 URI が無効です
SOAP Web サービスからの応答を解析しようとしていますが、データの一部に無効な xmlns 要素が含まれており、それが問題を引き起こしていると思います。
私が取り組んでいる XML の部分は次のとおりです。
soap:Body ノードの xmlns URI は問題ありません。ResponseData の URI は無効です。存在しないドキュメントを指しています。Web サービスは私の管理下にないため、これを修正することは問題外であることに注意してください :(.
私の Delphi (2007) コードの外観は、現在、このようなものです。
上記のコードでは、空白の名前空間の URL をFindNode('ResponseData','')
コードに追加する必要がありました。何も検索されず、nil が返されますが、期待される XML が返されます。
問題は、l_tmp の ChildNodes にアクセスしようとすると、次の検索ノード ( ChildNodes.FindNode('ResponseDataResult','')
) でアクセス違反が発生することです。l_tmp.xml を使用して xml を調べ、それが期待どおりの XML であることを確認できます。
名前空間が見つからないことが原因であると思われるため、削除しようとしましたが、読み取り専用属性であるというエラーがさらに表示されます。
NSに関係なく、xmlns属性を削除したり、ノードを選択したりする方法はありますか? それとも私はこれについて間違っていますか?
python - Python: lxml に名前空間を追加する
この例のようなlxmlを使用して名前空間を指定しようとしています(ここから取得):
使用するスキーマ インスタンスとスキーマの場所を追加する方法がわかりません。ドキュメンテーションは、次のようなことをすることで、私を始めました:
ただし、インスタンスを指定してから場所を指定する方法がわかりません。これは のnsmap
キーワード引数で実行できるようetree.Element
ですが、方法がわかりません。
c# - XDocument をロードするときに定義済みの名前空間を使用できますか?
名前空間付きの要素を含むが、名前空間を宣言していない XML ドキュメントを処理しなければならないことがよくあります。例えば:
プレフィックス「a」には名前空間 URI が割り当てられないため、ドキュメントは無効です。次のコードを使用してそのような XML ドキュメントをロードすると:
ドキュメントに宣言されていない名前空間が含まれており、整形式ではないことを (正しく) 示す例外がスローされます。
では、パーサーがフォールバックするデフォルトの名前空間プレフィックス -> 名前空間 URI のペアを事前定義できますか? XMLNamespaceManager は有望に見えますが、この状況に適用する方法がわかりません (または可能であれば)。
c# - LINQ to XMLで完全修飾要素名を使用する必要を回避できますか?
次のXML文字列を使用してXElement.Parse()を呼び出すとします。
要素をクエリするときは、そのXMLドキュメントのxmlns
ルートに属性が含まれているため、完全修飾要素名を使用する必要があります。これには、XNameインスタンスの面倒な作成が必要です。
私が本当に欲しいのは単純なことです。
LINQ to XMLに特定の名前空間を想定させる方法があるので、それを指定し続ける必要はありませんか?
sql - 「nodes」コマンドを使用してSQLXMLクエリで名前空間を使用するにはどうすればよいですか?
次のXMLクエリ(実際にはWebサービス呼び出し)からフィールドをクエリしようとしています。
次のXMLクエリを使用します。
実行されますが、結果は返されません。
同じクエリを作成しても名前空間のものを削除すると、機能します。たとえば、次のように正常に機能します。
<xmlDoc> <Request> <SubscriberCode> 543253 </ SubscriberCode> <CompanyCode> 54325 </ CompanyCode> <BranchName> TestBranchName </ BranchName> [...]
SQLクエリ:
--MITS名前空間を使用できるように、MITSの名前空間を定義します。WITH XMLNAMESPACES('[schema]' AS soap2、DEFAULT'[schema]')
SELECT TransactionID、T2.Loc.query('data(Request / SubscriberCode)')as'SubscriberCode' FROM TempWorksRequest CROSS APPLY RequestXML.nodes('xmlDoc')as T2(Loc)
何か案は?
xslt - XSL - 要素をコピーしますが、未使用の名前空間を削除します
次のように、属性にのみ使用される名前空間を宣言する XML があります。
XSL を使用して、選択したノードとその値のコピーを作成し、属性を削除したいと考えています。したがって、私の望ましい出力は次のとおりです。
ほとんどこれを行う XSL をいくつか持っていますが、名前空間宣言を出力の最上位要素に入れることを止めることはできないようです。私のXSLは:
出力の最初の要素は、<b xmlns:x="http://tempuri.com">
代わりに です<b>
。XSL で名前空間を宣言し、プレフィックスをexclude-result-prefixes
リストに追加しようとしましたが、効果がないようです。私は何を間違っていますか?
更新: XSL で名前空間を宣言し、属性を使用することで機能することがわかりましたextension-element-prefixes
が、これは正しくないようです! これなら使えると思うのですが、なぜexclude-result-prefixes
使えないのか知りたいです!
更新: 実際には、このextension-element-prefixes
ソリューションは XMLSpy の組み込み XSLT エンジンでのみ動作し、MSXML では動作しないようです。
html - Facebook Connect と HTML5、xmlns は利用できますか?
Facebook Connect とその「ソーシャル ウィジェット」のドキュメントには、タグを使用するページのタグにxmlns
属性を追加する必要があることが記載されています。<html>
私はそれが XML 名前空間のためであることを理解してxmlns
おり、以前に XHTML で使用したことがあります。しかし、HTML4 / HTML5 に関する最近のすべての話で、仕様全体を読んでいなくても、xmlns
属性は有効な HTML5 と互換性がありますか? HTML4はどうですか?
ドキュメントでこれについての明らかな言及を調べた場合、申し訳ありません...指摘してください。
編集:いくつかのドキュメントの参照/引用:
xml - XInclude スキーマ/名前空間の検証?
私は XML インクルードを使用して、人間とマシンの両方が使用できる必要がある大規模な XML 構造を管理しようとしています。
しかし、既存のスキーマに対して検証できる XML ファイルを作成しようとすると、無数の問題が発生します。これは、私がやろうとしていることの簡単な例です。
「main.xml」ファイルが検証されません。
「child.xml」ファイルは、スタンドアロン ファイルとして正常に検証されます。
ここに私のスキーマがあります:
私の問題はほぼ明らかに名前空間に関連していますが、問題を解決する方法がわかりません。
json - カスタム名前空間を使用した YQL XML 出力
YQL を使用して、Yahoo Pipes からの JSON フィードを解析して XML に変換しようとしています。私のクエリは次のとおりです。
"select * from json where url=' http://pipes.yahoo.com/pipes/pipe.run?_id=[pipe-id]&_render=json '"
問題は、元のパイプがダブリン コア タグ (例: dc:title、dc:source など) で満たされた RSS フィードを解析していたことです。XML 出力はこれらのタグを処理できず、Yahoo Pipes はそれらを適切に削除できません。XML 出力を任意のブラウザーで実行しようとすると、ドキュメントの先頭に欠落があるため、適合しません。
YQL の XML 出力からカスタム名前空間を定義するにはどうすればよいですか?