Relaxerメモ

Relaxerここここを参考にさわったメモ。

落とす。

いろいろダウンロード。
落としたもの。

スキーマの作成

1から作成するのはめんどいので、既存のXMLからスキーマを作成しちゃる。

元のXML(いつもと同じ)






以下のコマンドで、スキーマファイルykhr-kokko.rngが作成される。
# 基となるXMLは複数指定してもいいっぽい。


java -jar trang.jar ykhr-kokko2.xml ykhr-kokko.rng

作成されたもの。


<?xml version="1.0" encoding="UTF-8"?>



















Javaファイルの作成

Eclipseでの設定方法などは@ITを参照。
作成したスキーマを適用するだけで、Javaファイルが作成される。
作成されたのは、以下のクラスたち。


RStack.java
StartRoot.java
StartRootPerson.java
UJAXP.java
URelaxer.java

Javaから実行

RelaxerXMLファイルを読み込んでみる。


public static void main(String[] args) {
try {
StartRoot root = new StartRoot(new File("ykhr-kokko2.xml"));
StartRootPerson[] persons = root.getStartRootPerson();

for (StartRootPerson person : persons) {
String name = person.getName();
String age = person.getAgeAsString();
String hobby = person.getHobby();
System.out.println(name + "-" + age + "-" + hobby);
}

} catch (IOException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (ParserConfigurationException e) {
e.printStackTrace();
}
}

実行結果。


ykhr-25-Java
kokko-22-Game

なんてこともなく終了。


XMLスキーマの煩わしさにあきらめかけたこともあったけど、
Relaxerだったら全然いいかも。
バインディングも素敵。