| \u001B[1mSYNOPSIS\u001B[0m |
| ${project.description} |
| |
| Original Maven URL: |
| \u001B[33mmvn:${pkgGroupId}/${pkgArtifactId}/${pkgVersion}\u001B[0m |
| |
| \u001B[1mDESCRIPTION\u001B[0m |
| The org.apache.commons.jxpath package defines a simple interpreter of an expression language called XPath. |
| JXPath applies XPath expressions to graphs of objects of all kinds: JavaBeans, Maps, Servlet contexts, |
| DOM etc, including mixtures thereof. |
| |
| Consider this example: |
| |
| \u001B[32mAddress address = (Address)JXPathContext.newContext(vendor).\u001B[0m |
| \u001B[32mgetValue("locations[address/zipCode='90210']/address");\u001B[0m |
| |
| This XPath expression is equivalent to the following Java code: |
| |
| \u001B[32mAddress address = null;\u001B[0m |
| \u001B[32mCollection locations = vendor.getLocations();\u001B[0m |
| \u001B[32mIterator it = locations.iterator();\u001B[0m |
| \u001B[32mwhile (it.hasNext()){\u001B[0m |
| \u001B[32mLocation location = (Location)it.next();\u001B[0m |
| \u001B[32mString zipCode = location.getAddress().getZipCode();\u001B[0m |
| \u001B[32mif (zipCode.equals("90210")){\u001B[0m |
| \u001B[32maddress = location.getAddress();\u001B[0m |
| \u001B[32mbreak;\u001B[0m |
| \u001B[32m}\u001B[0m |
| \u001B[32m}\u001B[0m |
| |
| XPath was standardized by W3C and is used in both XSLT and XPointer. |
| |
| If you want to find out more about XPath, a good place to start is an excellent XPath Tutorial by W3Schools |
| |
| The official definition of XPath by W3C can be found at XML Path Language (XPath) Version 1.0 |
| |
| Primary applications of JXPath are in scripting: JSP and similar template/script based technologies. |
| However, programmers who prefer XML-flavored APIs, should consider JXPath as an alternative to other |
| expression languages as well. JXPath is a must-have tool for those who work with mixtures of Java objects |
| and XML and need to frequently traverse through graphs of those. |
| |
| \u001B[1mSEE ALSO\u001B[0m |
| \u001B[36mhttp://commons.apache.org/jxpath/\u001B[0m |