Closed mikoto2000 closed 7 years ago
ヘッダから、ルートノードまでにあるテキストコンテンツがうまく取得できないようだ。 ヘッダ直後に改行をいくつ入れても結果に反映されない。
プログラム的に意図せず無視しちゃっているのかどうなのかを確認しよう。 コメントノードは取得できてるのが嫌な感じ。
進捗です。
"要素、テキスト・ノード、コメント、処理命令などはDocumentのコンテキストの外部に存在できない"と書いてあるが、OracleJava8のDocumentBuilderは外のコンテキストにコメントができる。テキストは無視される。https://t.co/5tLYp8bJ5k
— 大雪 命 (@mikoto2000) 2017年6月2日
違うな勘違いだな。
— 大雪 命 (@mikoto2000) 2017年6月2日
Document のコンテキスト内ではあるのか。
Document コンテキスト内だけど、 DocumentElement コンテキスト外のテキストが無視されるんだな。
えーと...。XML ヘッダとドキュメントのルートノードの間に空行とかコメントとかたくさん書かれた場合、Java の DOM ツリーでは行番号の復元は不可能という理解で OK?
— 大雪 命 (@mikoto2000) 2017年6月2日
"https://t.co/h5r0IHxMUf.apache.xerces.internal.jaxp.DocumentBuilderImpl" だと、プロローグのテキスト(改行)がテキストノードにならず、対象のノードが書いてある行番号を導出することが不可能っぽい。どうしよう。
— 大雪 命 (@mikoto2000) 2017年6月2日
僕の技術力だとどうにもならん感じだ。辛い。
— 大雪 命 (@mikoto2000) 2017年6月2日
とりあえず、ファイル開きなおしてルートノードまでの改行文字を数えるようにするか。
ずれる条件の特定から。
XML ヘッダ直後のコメントとか怪しい気がする。