問題タブ [qnames]
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.
java - Java: JAXBElement の QName、名前空間またはプレフィックスなし? (matlab を使用)
私は JAXB と Java にかなり慣れていません。私は xjc を使用し、独自の名前空間マッパーを使用してカスタム ns1 ns2 などの名前空間をオーバーライドしています。Java は Matlab を介して実行されているため、通常の Java とまったく同じようにフォーマットされていません。ただし、変換できるはずなので、ストレートな Java の回答は問題ありません。
ここに私が欲しいものがあります:
代わりに、マーシャリング後、次のようになります。
「xmlns:ns4」を削除する方法はありますか?要素から削除するものはありますか?
対応する (matlab) Java コードは次のとおりです。
c は、後で String 要素を含むリストに追加されます。
私の XML は機能していますが、きちんとした/一貫性を保つために、比較的単純な xmlns ジャンクを削除したいと思います。
ありがとうございました!これは私の最初のスタックオーバーフローの質問です。標準に達していない場合は申し訳ありません。
アップデート
私はこれを解決しました。2 つのことが必要でした: 'blah' の代わりに、私は作成しました
matlab内の Java に対して忘れていること。次に、 JAXBElement を作成するときに、 inner_class 変数を使用する代わりに、blah.getClass()を使用すると、修飾なしで出力されます。これは、 QNameの質問というよりも、マッシュアップの質問であったことがわかりました。
c# - XML要素の修飾名とその子ノードをC#で取得
編集:
ここで 3 つのことを達成しようとしています: XmlNode クエリを取得し、XmlNode QueryId を取得し、a:schemaLocation の値を取得しますが、解析後は null になります。XML から修飾名を削除すると、C# ビットは正常に機能します。コードをどのように書き直す必要がありますか?
XML:
C#:
xml - 値が QName でなければならない属性の値が '' でした
上記のエラーが発生し続ける XSL ファイルがあります。これが私のコードです:
そして、これが私のソース XML ファイルの一部です。
java - Alfresco の問題、residual=true で、「プロパティ タイプ」が空で、「値タイプ」が入力されている
コンテンツ モデルの作成中に問題が発生しました。ノード ブラウザでは、Residual の下に「true」と表示され、Property Type の下に空のフィールドが表示され、Value Type の下に「{ http://www.alfresco.org/model/cms /1.0/cs01 }id" は、他のすべての値とは異なる奇妙な原因です。
モデルを確認した後、Java コードの QName に間違いがあることがわかったので、修正すると問題が発生しますが、Alfresco を再起動するたびに、この問題が再び発生します
この問題を回避するには?
前もって感謝します。
python - QName の使用方法 (python xml.etree.ElementTree?)
QName についてかなりの量を読みましたが、その使用方法の良い例が見つかりません。誰かが QName の使用方法の簡単な例を教えてくれ、それがどのようなコンテキストで使用されるかを説明できますか?
xml - XML QName を動的に解決するよりも、XML QName を静的に解決するほうがよいのはなぜですか?
AQName
はネームスペース修飾名です。2 つを含む XML を次に示しますQNames
。
省略された 2 つは次のQNames
とおりです。
拡張されたものは次のQNames
とおりです。
XML パーサーは、短い名前 (省略名) を長い名前 (拡張名) に変換するための規則を知っています。
名前の省略形は、解析時に静的に長い名前に解決できます。
QNames
データで使用することもできます。次の XML では、<log>
要素の値は aQName
です。
XML パーサーは、データではなく、マークアップのみを操作します。そのため、XML パーサーは短い名前を長い名前に変換しません。短い名前から長い名前へのマッピングは、XSLT プロセッサや XML スキーマ バリデータなどの上位レベルのアプリケーションで行う必要があります。つまり、短い名前から長い名前への解決は、静的ではなく動的に行う必要があります。
質問: 短い名前を長い名前に静的に解決するほうがよいのはなぜですか? 短い名前を長い名前に動的に解決することの欠点は何ですか? 短い名前を長い名前に動的に解決しなければならない結果として問題が発生する具体的な例を教えてください。QNames の静的解析の実際的な利点は何ですか?