| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <document> |
| <properties> |
| <title> |
| JXPath Release Notes 1.1 |
| </title> |
| <author email="dmitri@apache.org"> |
| Dmitri Plotnikov |
| </author> |
| </properties> |
| |
| <body> |
| |
| <section name="JXPath 1.1 Release Notes"> |
| <p> |
| Most changes in 1.1 are in the internal implementation and do not affect |
| public APIs. However there are some new publicly visible features: |
| <ul> |
| <li> |
| Full support for JDOM. Just like with DOM, if a JDOM node |
| is the root node of a JXPathContext, the implementation strictly follows |
| the XPath 1.0 standard. A JDOM node can also be a part of a mixed model, |
| i.e. the value of a property, variable, container, collection element |
| etc. |
| <br/> |
| </li> |
| <li> |
| Pointer has an additional method: getNode(), which returns the raw |
| value without converting it to a primitive value. This makes |
| a difference when you are working with DOM/JDOM and want to obtain |
| the Node itself, not the textual value of the Node. |
| <br/> |
| </li> |
| <li> |
| Support for DynaBeans |
| (see <a href="http://commons.apache.org/beanutils">Jakarta |
| Commons BeanUtils</a>). |
| <br/> |
| </li> |
| <li> |
| Refactored XML parsing by container to allow for alternate parsers. |
| All you do now is specify which model you want the container to use - |
| DOM (default) or JDOM. From that point the processing is transparent. |
| See |
| <a href="apidocs/org/apache/commons/jxpath/xml/DocumentContainer.html"> |
| <code>org.apache.commons.jxpath.xml.DocumentContainer.</code></a> |
| <br/> |
| </li> |
| <li> |
| The <code>format-number</code> XSLT function is now supported. |
| In order to provide full conformance with the standard, we also |
| needed to introduce the format customization mechanism known in |
| XSLT as <code><xsl:decimal-format></code> (see |
| <a href="http://www.w3schools.com/xsl/el_decimal-format.asp"> |
| W3Schools tutorial</a>). The new methods of JXPathContext: |
| <code>setDecimalFormatSymbols()</code> and |
| <code>getDecimalFormatSymbols()</code> fulfill that requirement. |
| <br/> |
| </li> |
| <li> |
| The <code>attribute::</code> axis is now supported models other than |
| DOM/JDOM. For beans and maps it is interpreted the same way as |
| the <code>"child::"</code> axis. |
| <br/> |
| </li> |
| <li> |
| In JXPath 1.0 you could only register DynamicPropertyHandlers for |
| concrete classes, now you can also register them for interfaces. |
| <br/> |
| </li> |
| <li> |
| The implementation of <code>setValue()</code> has changed for DOM/JDOM |
| nodes. In JXPath 1.0 it would replace text in the element, but leave |
| sub-elements alone. The new implementation is more consistent: it |
| drops all subelements first. Also, if you pass a Node as the new |
| value, it will insert the Node in the tree. |
| <br/> |
| </li> |
| <li> |
| If you need to evaluate multiple paths relative to a certain node |
| in the object graph, you can now create a relative JXPathContext. |
| Obtain the pointer for the location that is supposed to define |
| the relative context and then a relative context by calling |
| <code>context.getRelativeContext(pointer)</code>. |
| <br/> |
| </li> |
| <li> |
| The JUnit tests for JXPath have been completely redisigned and |
| significantly enhanced. |
| <br/> |
| </li> |
| </ul> |
| </p> |
| |
| </section> |
| |
| <section name="Acknowledgements"> |
| <p> |
| Great thanks to everybody who reported problems, helped to trace them, |
| suggested changed or simply provided encouragement. Special thanks to |
| <ul> |
| <li>Trond Aasan</li> |
| <li>Bjorn Bength</li> |
| <li>Derek A. Bodin</li> |
| <li>BoD</li> |
| <li>Stephen Colebourne</li> |
| <li>Torsten Curdt</li> |
| <li>Pierre Delisle</li> |
| <li>Ruud Diterwich</li> |
| <li>Peter Donald</li> |
| <li>Kate Dvortsova</li> |
| <li>Eduardo Francos</li> |
| <li>dIon Gillard</li> |
| <li>Mike Hogan</li> |
| <li>Ivelin Ivanov</li> |
| <li>Per Kreipke</li> |
| <li>Kees Kuip</li> |
| <li>David Li</li> |
| <li>Ulrich Nicolas Lisse</li> |
| <li>Costin Manolache</li> |
| <li>Thorsten Mauch</li> |
| <li>Craig R. McClanahan</li> |
| <li>Markus Menner</li> |
| <li>Daniel Michalik</li> |
| <li>Steve Pannier</li> |
| <li>Ed Peters</li> |
| <li>Kenneth Petersen</li> |
| <li>Ovidiu Predescu</li> |
| <li>Erik Pugh</li> |
| <li>Robert Rasmussen</li> |
| <li>Vasco C. Rocha</li> |
| <li>Francois Swiegers</li> |
| <li>Joern Turner</li> |
| <li>Knut Wannheden</li> |
| <li>Andrew Wulf</li> |
| <li>Jason van Zyl</li> |
| </ul> |
| Thanks! |
| </p> |
| |
| </section> |
| </body> |
| </document> |