M Sc of Advanced Software Engineering CO 7206

  • Slides: 12
Download presentation
M. Sc. of Advanced Software Engineering CO 7206 System Reengineering XPath Many Slides are

M. Sc. of Advanced Software Engineering CO 7206 System Reengineering XPath Many Slides are by Georgios Koutsoukos

Objectives § To give some knowledge about core technologies used in CARE § This

Objectives § To give some knowledge about core technologies used in CARE § This lecture covers: – XPath

Outline § § § XPath basics XPath axes XPath examples

Outline § § § XPath basics XPath axes XPath examples

Useful links § Useful links: – http: //www. w 3 schools. com/xpath/default. asp –

Useful links § Useful links: – http: //www. w 3 schools. com/xpath/default. asp – http: //msdn. microsoft. com/library/default. asp? url=/library/enus/xmlsdk/html/1431789 e-c 545 -4765 -8 c 09 -3057 e 07 d 3041. asp – http: //www. mulberrytech. com/quickref/XSLTquickref. pdf

XPath Basics (1) § XPath is a language for specifying parts of an XML

XPath Basics (1) § XPath is a language for specifying parts of an XML document § XPath uses path expressions to identify XML document parts. When evaluated, the expression returns an object that can be of type node-set (a group of nodes of the XML document tree structure), boolean, number, or string. Expressions are evaluated within a context.

XPath Basics (2) A path expression is typically constructed from steps, which include: 1.

XPath Basics (2) A path expression is typically constructed from steps, which include: 1. an axis, specifying the tree relationships between the nodes 2. a node test, specifying the name of the selected nodes and 3. zero or more predicates, which refine the set of nodes selected. For example, in the expression: child: : pet[attribute: : Type="dog"] child specifies the axis, pet the node test and [. . . ] the predicate. Abbreviated syntax is also used, for instance "@Type" instead of "attribute: : Type", "/pet" instead of "child: : pet" (and others).

XPath Basics (3) § XPath also inludes a library of standard functions for node-sets,

XPath Basics (3) § XPath also inludes a library of standard functions for node-sets, strings, boolean and numbers. § L-CARE provides an, extension to XPath, set of functions, for performing various operations. For instance: – boolean cmp. Ignore. Case(String s 1, String s 2) for caseinsensitive string comparison. – int start. Line(Node node) for getting the line where a statement represented by XML "Node" begins – int size. In. Lines(Node n) for getting the size in lines of code of a statement represented by XML "Node"

XPath axes § The axes in XPath are shown in the picture below (attributes

XPath axes § The axes in XPath are shown in the picture below (attributes and namespaces are not shown).

XPath examples (1) The following XML document example is the one used on the

XPath examples (1) The following XML document example is the one used on the introduction to XML. <? xml version="1. 0" encoding="iso-8859 -1"? > <pets> <pet type="dog" color="brown">Max</pet> <pet type="cat" color="white">Toula</pet> </pets> We will now demonstrate some very simple XPath examples using that document.

XPath examples (2) § Select all pet elements § //pet or alternatively /pets/pet or

XPath examples (2) § Select all pet elements § //pet or alternatively /pets/pet or /pets/child: : * § Select the first pet § /pets/pet[1] § Select all pets of type dog § //pet[@type ="dog"] § Select all pets of white color § //pet[@color="white"] § Select the color of all dogs § //pet[@type ="dog"]/@color § Get the types of pets with the name Max § /pets/pet[text()="Max"]/@type

Key Points § XPath is an efective and powerful way of query XML documents.

Key Points § XPath is an efective and powerful way of query XML documents. § At this point you should have a basic idea about what XML and XPath is all about. § It is VERY IMPORTANT that BEFORE next week’s tutorial on L-CARE you feel quite confortable using XPath, so PLEASE take a couple of hours on your own practicing it.

Contacts § § § Mailto: rmc 20@le. ac. uk Office G 3 (Usually I

Contacts § § § Mailto: rmc 20@le. ac. uk Office G 3 (Usually I am there) Dr. El-Ramly is pleased to help