2016-08-11 4 views
3

私は私が行うには期待しています何を、JavaでXMLストリームXPathプロセッサを開発してい要素にのXpathを分割し、キュー内の要素を保存)XMLストリームXPathプロセッサのアルゴリズム

1です。

2.)SAXでXMLファイルを調べ、startElement()メソッドで現在の要素がキューにあることを確認します。

3.)キュー内にある場合は、要素データを文字(...)メソッドで格納します。

私のアプローチは正しいですか?私は要素を分割するためにすべてのxPathコマンドをチェックするのは難しいので、最初のステップで立ち往生しています。最初のステップを実装する簡単な方法はありますか?

("/" name ("[" integer "]")?)* 

そして、それは非常に難しいことではないの解析、およびSAXストリーム内のイベントに対してそれを照合たとえば

ため

+1

サポートされるXPathのバージョン(1.0、2.0、3.0、および3.1が既に開発されています)をサポートしますか?どの種類のXPath式と軸をサポートしますか? XPathデータモデルには、さまざまな種類の要素(要素、属性、テキストノード、コメントノード、処理命令ノード、名前空間ノード)がありますが、要素についてのみ話しています。ストリーミング可能なXSLT 3.0には現在進行中の作業があり、それはかなり複雑なトピックだと思うので、SOに関する質問がこれに近づく正しい方法であるかどうかはわかりません。 –

+1

なぜあなたはサックスを介してxpathを実行したいですか? VTD-XMLは、あなたが探しているものにできるだけ近いところにありますhttp://stackoverflow.com/questions/8791600/can-sax-parsers-use-xpath-in-java –

答えて

2

あなたは、XPathの簡単なサブセットを定義する場合は、いずれかの非常に難しいことではありません。 (名前空間は常に課題ですが)。

しかし、あなたが質問を表現したやり方では、この単純化された問題でも、あなたが現在持っているよりも多くの経験やコンピュータサイエンスの知識が必要だと思われます。あなたがすでにこのような質問をしているという事実は、あなた自身が設定した挑戦の規模についての考えはありません。

+0

あなたの配慮に感謝します。私はあなたの言及のような簡単なXPath式に範囲を縮小します。 – sugeesh