R4R provide basic XPATH Tutorials concept with XPATH Examples .Through R4R you can develop XPATH programming concept. R4R provide XPATH Interview Questions with answers.R4R provide XPATH Languages study materials in easy way.
XPath is the solution to finding information in an XML document. XPath uses expressions to find elements, attributes, and other information in your XML.
XML documents have a tree structure
- XPath allows you to concisely describe sets of XML elements and attributes in this tree.
- Analogy to file system paths.
- A file system hierarchy is a tree of directories and files.
- A filesystem path describes how to reach a specific file, starting either from the root, or the current working directory.
- XPath exploits this intuitive notion of a path, and extends it to XML documents.
In the XML tree available for XPath expressions, there are 7 node types
- The root node (one per document)
- Element nodes
- Attribute nodes
- Text nodes
- Comment nodes
- Processing instruction nodes
- Namespace nodes
<?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book> <title lang="eng">Harry Potter</title> <price>29.99</price> </book> <book> <title lang="eng">Learning XML</title> <price>39.95</price> </book> </bookstore>
Expression | Description |
/ | Selects from the root node |
// | Selects nodes in the document from the current node that match the selection no matter where they are |
. | Selects the current node |
.. | Selects the parent of the current node |
@ | Selects attributes |
Path Expression | Result |
/bookstore | Selects the root element bookstore |
bookstore/book | Selects all book elements that are children of bookstore |
//book | Selects all book elements no matter where they are in the document |
bookstore//book | Selects all book elements that are descendant of the bookstore element, no matter where they are under the bookstore element |
//@lang | Selects all attributes that are named lang |
- Flexible expression- The user may use whatever tags/attributes seem intuitive when designing the schema
- latent semantics- Many users prefer to figure out the semantics when/if necessary
- Application Specific Constraint Checking
- Core Technology- XSLT/XPath is a "core technology" which is well supported, well understood, and with lots of material written on it.
- Expressive Power- XSLT/XPath is a very powerful language. Most, if not every, constraint that you might ever need to express can be expressed using 6.XSLT/XPath. Thus you don't have to learn multiple schema languages to express your additional constraints
- Long Term Support- XSLT/XPath is well supported, and will be around for a long time.
- Separate Documents- With this approach you will write your XML Schema document, then you will write a separate XSLT/XPath document to express additional constraints. Keeping the two documents in synch needs to be carefully managed
- Efficiency is access limited