Java: Xalan

Java, Work Add comments

Справедливость восторжествовала, как всегда впрочем. Намедни господин

совершенно справедливо указал, что зря я не люблю встроенную имплементацию JAXP в 1.4 и,  что Xalan уже включен в J2SE 1.4, а я просто готовить его не умею. И действительно как оказалось, Xalan содержит классы для XPath, только они называются по другому и вообще всё немножко не так, как в JDOM, и работает медленее. Зато никаких новый jar-ов не надо.

Встроенный Xalan (код после оптимизации по скорости с прекомпиленными выражениями) :

minusOneExpression = new XPath("/game/principal/@noBid='true'", null, null, XPath.SELECT);
XObject containsLateBid = minusOneExpression.execute(new XPathContext(), doc.getFirstChild(), null);
containsLateBid.bool()

JDom:

noBidExpression = XPath.newInstance("/game/principal/@noBid='true'");
Boolean result = (Boolean) noBidExpression.selectSingleNode(doc);
result.booleanValue()

Следует ли говорить, что в 1.5 всё ещё более по третьему? :-)

Sun по этому поводу пишет следующее:

“…In J2SE 1.4, the fact that JAXP was built into the Java platform was a mixed blessing. On the one hand, an application could rely on that fact that it was there. On the other, most applications needed features and bug fixes that were available in later versions. But adding new libarires had no effect, because internal classes always take precedence over the classpath…”

 

Похожие записи:

One Response to “Java: Xalan”

  1. alekro Says:

    Над скоростью надо б мне поразмышлять, но сил пока нет, все на интервьюхи уходит..

Leave a Reply

Entries RSS Comments RSS Log in Admin