問題タブ [entityresolver]
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:EntityResolver#resolveEntity(String publicId、String systemId)の「systemId」が現在の作業ディレクトリに絶対化されないようにする方法
次のXMLドキュメントを解析して、その中のすべてのエンティティを解決したいと思います。
私のEntityResolverは、指定されたシステムIDを持つ外部エンティティをデータベースからフェッチしてから、解決を実行することになっています。図については、以下を参照してください。
DOM(DocumentBuilder)とSAX(XMLReader)の両方を使用して、エンティティリゾルバーをMyEntityResolver(ie setEntityResolver(new MyEntityResolver())
)に設定しようとしましたが、systemId
inMyEntityResolver#resolveEntity(String publicId, String systemId)
は常に現在の作業ディレクトリに絶対化されています。
私も電話をかけてみsetFeature("http://xml.org/sax/features/resolve-dtd-uris", false);
ましたが、何の役にも立ちませんでした。
では、どうすれば私が望んでいたことを達成できますか?
ありがとう!
geolocation - 会場およびその他の地理的位置のエンティティ解決
プラットフォーム間での訪問をカウントするチェックインアグリゲーターを構築して、Foursquare、Gowalla、BrightKiteなどで特定の場所にチェックインした人の数を知ることができるようにしたいとします。優れたライブラリまたはツールのセットはありますか箱から出して、各サービスの会場エントリを自分の一意の場所識別子に関連付けることができますか?
基本的に、(地名、住所、緯度/経度)タプルのペアから、同じ実際の場所を参照しているという[0,1)の信頼度にマップできる関数が必要です。
誰かがすでにこれをしているに違いありませんが、私のgoogle-fuは弱いです。
java - カスタム XOM EntityResolver の設定
EntityResolver
Doctype に対して検証する必要はないので、すべてを受け入れるカスタムを設定したいと思います。私はtagsoupからデータを取得しているので、データが整形式で正しいことがわかっています.
さらに、ドキュメントの数をすばやくヒットする必要があるため、デフォルトEntityResolver
でこれを行うと、から取得503
しw3.org
ます。
では、カスタム・エンティティー・リゾルバーで XOM ビルダーを使用するにはどうすればよいでしょうか?
java - Java XML処理エンティティの問題?
Javaプログラムを実行しようとすると、次のエラーが発生します(xmlファイルを読み取ってコンテンツの一部を出力することになっています)。
私が理解していることから、xml標準の一部ではない参照されていないエンティティがあるので、私の質問は次のとおりです。どうすればこの問題を解決できますか?
ありがとう、
java - XMLReaderのカスタムEntityResolverを使用してStreamSource.setReader()を設定する方法
xmlファイルからStreamSourceを取得する必要がありますが、カスタムEntityResolverも使用する必要があります。
私が抱えている問題は、XMLReaderをストリームソースに取り込む方法がわからないことです。
私は次のことをしています:(ドキュメントはInputStreamです)
setReader()はXMLReaderではなくReaderを引数として受け入れるため、明らかにこれは機能しません。
私がこれを回避する方法についてのアイデア。
java - エンティティ宣言を解決し、XML でファイル パスを取得する方法は?
上記のサンプル コードを参照して、エンティティ宣言で定義されているファイル パス Sunset.jpg を取得する必要がある html で夕日の画像を取得する必要があります。
Javaでどうすればいいですか?私は試した
しかし、それは私にabcdを与えますが、ファイルパス「sunset.jpg」が必要です。
そして、私も試しました、
しかし、画像ファイルがバイト配列として読み取られることを期待しているため、戻り値の型に問題があると思いますか? 戻り値の型は何ですか?
xml - JAXB と EntityResolver
わかりましたので、これが取引です。次のように始まるxmlファイルがあります。
そして、そのように始まるxsd:
そしてアンマーシャリング:
この例外が発生する理由: [org.xml.sax.SAXParseException: cvc-elt.1: 要素 'ns3:rosApplicationDocument' の宣言が見つかりません。]
編集:
LSResourceResolver は次のとおりです。
私はそれを工場に設定しました:schemaFactory.setResourceResolver(new MyLSResourceResolver());
そして、コンソールの出力は次のとおりです。
最後に同じ例外..したがって、問題はxsdにはありません
java - Java - xsl 変換 - エンティティ リゾルバーとしての DTD ファイルの早期終了
Java - spring - エンティティ リゾルバとして dtd を使用した xsl 変換。
私は次の方法を持っています
次の例外が発生します
xml - スタイルシートを含めるための DOCTYPE と PI の両方が XML に存在する場合、TransformerFactoryImpl.java の getAssociatedStylesheet で例外がスローされる
getAssociatedStylesheet(Source source, String media, String title, String charset) が TransformerFactoryImpl クラスで TransformerConfigurationException をスローするコードを見てください。
上記の関数の定義は、source パラメータ (本質的には SAXSource オブジェクト) を介して引数として渡した XMLReader を無視しています。上記の関数は、新しい SAXParserFactory オブジェクトを作成した後に、新しい XMLReader を作成しています。このため、私たちが直面している問題は、入力 XML ファイルの解析中に、パブリック ID とシステム ID によって指定された DOCTYPE セクションと外部 DTD の解析が続行されることです。XMLReader は XML ファイルの解析に使用されず、リーダーに登録された EntityResolver は使用されないため、外部 DTD は解決されず、getAssociatedStylesheet 関数は例外で失敗します。
ただし、他の関数public Templates を見ると newTemplates(Source source) は TransformerFactoryImpl クラスで TransformerConfigurationException をスローします。この関数は、渡されたソース引数が SAXSource であるかどうかを具体的にチェックし、そうである場合、ソースに XMLReader が存在する場合、新しい XMLReader オブジェクトを作成しません。
これはバグですか?何かご意見は?
XalanJ バージョン: 2.7.1 ソース ファイル パス: src\org\apache\xalan\processor\TransformerFactoryImpl.java
ありがとう!厳しいグプタ Adobe Systems