問題タブ [jaxp]

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 に答える
147 参照

java - JAXP を使用して XML ドキュメントに集計を挿入する

JAXP (DOM) で作成された XML ドキュメントの優れたプレゼンテーションが必要です。

ファイルの作成後に読み書きできることはわかっていますが、もっとエレガントなものが欲しいです...

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

java - Java(JAXP)およびXSLT:XMLファイルの上書き

XML / HTMLファイル(temp.xml)とXSLT(temp.xsl)を入力として使用してXMLファイルを生成しており、出力は新しい名前(temp_copy.xml)の別のファイルとして生成されていますが、新しいファイルを作成する代わりに、XMLファイルを入力します。入力ファイルと同じパスを指定してみましたが、うまくいきませんでした。では、これを達成するための他の方法は何でしょうか?前もって感謝します。

私のJavaコード:

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

java - バージョン属性を持つ XML ドキュメントに使用する XML スキーマのバージョンを解決する

次のように、ルート要素で version 属性を使用してバージョン番号を宣言する XML ドキュメントの読み取りと検証を処理するコードを記述する必要があります。

ネストされたスキーマがたくさんあります。私のコードには、org.w3c.dom.ls.LsResourceResolver使用するスキーマを見つけて、このメソッドを実装する必要があります。

以前のバージョンのスキーマでは、スキーマのバージョンが名前空間に埋め込まれていたため、namespaceURI と systemId を使用して、提供するスキーマを決定できました。現在、バージョン番号はルート要素の属性に切り替えられており、私のリゾルバーはそれにアクセスできません。内の XML ドキュメントのバージョンを確認するにはどうすればよいですLsResourceResolverか?

0 投票する
4 に答える
317 参照

java - Java: ディレクトリ内の HTML ファイルを反復処理する

HTMLファイルと1つのXSLTファイルを入力として受け取り、HTML出力を生成していますが、フォルダーには複数のHTMLファイルがあり、それぞれを入力として受け取り、対応する出力ファイルを生成する必要がありますが、XSLT入力ファイルは毎回同じままです. 現在、私のコードでは、入力 HTML ファイルを取得するたびにコード ブロックを繰り返しています。これの代わりに、フォルダー内のすべての HTML ファイルを反復処理し、それらを入力ファイルとして 1 つずつ取得して、出力を生成したいと考えています。私の現在のコードでは、ファイル名も同様に固定されpart_1.htmlていますが、異なる場合があり、その場合、このコードは機能せず、問題が発生します。誰でもこの件で助けてもらえますか: ありがとう!

現在の Java コード (2 つのファイルのサンプル):

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

xml - DOMSource 経由の JAXP Transformer がスタイルシートを返す

私は奇妙な問題を抱えており、解決策が見つからないようです。XSLT スタイルシートを XML ファイルに適用しようとしているだけです (この場合、SPARQL クエリの結果は XML としてフォーマットされますが、他の XML ファイルでも同じ結果が得られます)。この場合、既に読み込まれている XML ドキュメントを DOMSource 経由で再利用して、トランスフォーマーを作成する必要があります。以下のコードを見つけることができます (単純化されています。通常、スタイルシート ドキュメントは別の場所から取得されます)。

変換された XML の代わりに、StreamResult の出力ストリームは読み込まれたスタイルシートを返します。2行目と3行目を次のように置き換えると:

その後、すべてがうまく機能します。もちろん、読み込んだスタイルシート ドキュメントを文字列にシリアル化し、それを ByteArrayInputStream に変換し (さらに悪い場合は、ファイルに書き込み)、それを使用して StreamSource を作成することもできますが、それはばかげています。

これが機能しない理由はありますか?

xml-file.xml コード:

stylesheet.xml コード:

ありがとう!

ウィリアム

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

java - エンティティ宣言を解決し、XML でファイル パスを取得する方法は?

上記のサンプル コードを参照して、エンティティ宣言で定義されているファイル パス Sunset.jpg を取得する必要がある html で夕日の画像を取得する必要があります。

Javaでどうすればいいですか?私は試した

しかし、それは私にabcdを与えますが、ファイルパス「sunset.jpg」が必要です。

そして、私も試しました、

しかし、画像ファイルがバイト配列として読み取られることを期待しているため、戻り値の型に問題があると思いますか? 戻り値の型は何ですか?

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

java - 他の XML 値内にネストされた XML タグの解析

XML の巨大なチャンクを解析する特定の XML パーサーの開発に行き詰まっています。

私の問題は、他の XML 値内にネストされた XML タグを解析する方法がわかりません。私の入力ファイルは次のようになります。

xpath を使用して最初のステップ タグの値を取得できます。私の問題は、xpath を使用して 2 番目のステップの値を取得する方法、または値タグ内で新しいタグがいつ開始されるかを識別する方法です。

たとえば、私の 2 番目のステップの xpath は、こ​​の結果を返します -最後にこれらの () 値を使用します

私の目的は、 これらの(max003)値を最終的に使用することです

max003値はxlink:hrefから取得する必要があります

追加- id 、 actuate 、 show の個々の値を個別の xpath を記述することで取得できます。私の質問は、 max003 であるxlink:href値を 取得した後、これらのの後と値の前に、括弧内にmax003値を詰め込み、それをネットワーク経由で送信して表示する必要があるということです。 サブノード ID がいつどこで開始されたかを特定する方法を探しています。かっこ内に詰め込むメカニズム。

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

java - デフォルトで間違った実装を使用する JAXP XSLT トランスフォーマー

実行時に XML 構成ファイルを生成するために Apache Commons-Configuration ライブラリを使用する Tomcat 5.5 Web アプリケーションがあります。Commons-Configuration は、javax.xml.transformJAXP API を使用してこれを実現します。

Java 7 にアップグレードしてから、操作は次のエラー メッセージで失敗します。

過去のリリースでは、xalan.jar をバンドルしたことはなく、代わりにプラットフォームのデフォルトの XSLT 実装に依存していました。

私がチェックしたいくつかのこと:

  • META-INF/services/javax.xml.transform.TransformerFactoryアプリケーション JAR ファイル、ライブラリ jar、Tomcat jar のいずれにもエントリがありません
  • システム プロパティが設定されていない( javax.xml.transform.TransformerFactoryJVisualVM を介して実行時に検証される)
  • ディレクトリjaxp.propertiesにファイルがありませんjre/lib

で実行すると-Djaxp.debug=1、次の出力が生成されます。

このフォールバック値はどこから来たのですか? Oracle は Xalan トランスフォーマーを出荷していますが、1.7 以降では として再パッケージ化されていcom.sun.org.apache.xalan.processor...ます。それはフォールバック値であるべきではありませんか?

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

java - JAXP、JDOM、DOM4J、および XERCES の違いは何ですか?

それらの違いは何ですか?JAXP は API 仕様にすぎないと言われていますが、JDOM と DOM4J はそれを実現しましたね。XERCES と同じように、それらすべてに XML パーサーが必要ですよね? 前もって感謝します!

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

xslt - XSLT 変換の受け渡しパラメータ

XSLT 変換中にパラメーターを渡そうとしています。これがxslスタイルシートです。

以下はJavaコードです。

次のエラーが表示されます:- エラー: 「変数またはパラメーター 'param1' は未定義です。」致命的なエラー: 「スタイルシートをコンパイルできませんでした」

ただし、次の行を使用してトランスフォーマーを作成すると、すべて正常に動作します。

Q1. Transformer の作成に DOMSource を使用する際の何が問題なのか知りたかっただけです。

Q2. これは、xml ドキュメントのプレースホルダーの値を置き換える理想的な方法の 1 つですか? プレースホルダーがソース xml ドキュメントにある場合、スタイル シートを使用して (およびパラメーターを渡す) それらを置き換える (簡単な) 方法はありますか?