XML

JavaでXSLT

そういや、Antからしかやってなかったなーということで。 XMLとXSLTは、ちょうど手元にあったCheckstyleのもの。 Source xml = new StreamSource(new File("checkstyle.xml")); Source xslt = new StreamSource(new File("checkstyle-simple.xsl")); Result …

SAXParserFactoryの実装クラスの検索順序

SAXParserFactory#newInstanceを呼んだときに返却されるクラスは、以下の順序で探していく。 javax.xml.parsers.SAXParserFactory システムプロパティ JRE ディレクトリ内のプロパティファイル lib/jaxp.properties パスが通ってるjar の中の、 META-INF/ser…

SAXParserFactoryとSAXParser

SAXParserFactoryは、1スレッド内なら使いまわしてもOKっぽい。 SAXParserは、1.5からresetメソッドが追加されていて、 これを使えば、1スレッド内でSAXParserを使いまわしてもいいみたい。 でも、複数スレッドの場合は、どちらも保証「されません」 って書…

XMLの改行

XMLプロセッサは改行をLFで渡すという仕様になってるっぽい。 なので、DOMやらSAXやらで要素の内容を取得し、その文字列から改行を取り除く場合は、 String content = tmp.replaceAll("\\n", "");でOKってことかね。 ついでに、属性と要素の内容は、やっぱり…

XMLの定義書

XMLの定義書をマインドマップで書いてみた。 以前の定義書があまりにも使いにくかったので、変えてみたんだけど、 かなりいい感じかも。 後々、修正が入っても直しやすいし。

Relaxerメモ

Relaxerをこことここを参考にさわったメモ。 落とす。 いろいろダウンロード。 落としたもの。 Relaxerプラグイン trang msv(興味本位で、下では使ってない) スキーマの作成 1から作成するのはめんどいので、既存のXMLからスキーマを作成しちゃる。元のXML…

JavaでXMLメモ(SAX)

前にDOMをやったので、今度はSAXをやってみる。 JDK 1.4.2 前回と同じ、読み込むXML(ykhr-kokko2.xml)。 Javaソース。 めんどいので、1クラスで完結。 public class SaxReadTest extends DefaultHandler { public static void main(String[] args) { try { S…

JavaでXMLメモ

JavaからXMLにアクセスする。 JDK 1.4.2 XMLにアクセスする方法として、主に2種類あるらしい。 DOM メモリ上にツリー構造で保持する。 重い。 SAX イベントで処理する。 DOMより軽い。 XMLの更新はできない。 20MくらいのXMLをDOMで操作していたら、あまりに…