Extensible Markup Language: in This Session, You Will Learn To
Extensible Markup Language: in This Session, You Will Learn To
Objectives
Ver. 1.0
Session 7
Slide 1 of 26
Conditional formatting refers to the formatting of data based on a specific condition. The two elements used for conditional formatting are:
if choose
Ver. 1.0
Session 7
Slide 2 of 26
Conditional formatting refers to the formatting of data based on a specific condition. The two elements used for conditional formatting are:
if choose
Provides an if-then construct. Follows the syntax: <xsl:if test="condition"> [actions to be performed if the condition is true] </xsl:if>
Ver. 1.0
Session 7
Slide 3 of 26
Conditional formatting refers to the formatting of data based on a specified condition. The two elements used for conditional formatting are:
if choose
Enables you to choose from two or more possible courses of action by testing multiple conditions. Follows the syntax: <xsl:choose> [action to be taken] </xsl:when> : : <xsl:otherwise> [action to be taken] </xsl:otherwise> </xsl:choose>
Ver. 1.0
Session 7
Slide 4 of 26
Equal to
Not equal to Less than Greater than Less than or equal to Greater than or equal to
Logical AND
Logical OR Negation operator
Ver. 1.0
Session 7
Slide 5 of 26
XPath:
Is used to search and retrieve information from an XML file. Treats an XML document as a tree of interrelated branches and nodes, as shown in the following figure.
PRODUCTDATA
PRODUCT
PRODID=P001
CATEGORY =TOY
PRODUCTNAME
DESCRIPTION
PRICE
QOH
Mini Bus
75
54
Ver. 1.0
Session 7
Slide 6 of 26
XPath expressions can be used to retrieve data based on specific conditions. XPath expressions identify the nodes in an XML document based on their names and values. The following table lists the operators that can be used to create XPath expressions.
Operator/Special Character / Example /PRODUCTDATA Description Selects the immediate child elements of PRODUCTDATA. If this operator occurs at the start of the pattern, it indicates that the child elements should be selected from the root node. Searches for the specified element at any node level. Indicates the current context. Selects the PRODUCTNAME element, which exists within the parent of the current element. Selects all elements. Session 7 Slide 7 of 26
// . .. *
Ver. 1.0
Operator/Special Character @ @* : ( )
Description Used as a prefix for the attribute. Selects all attributes. Separates the namespace prefix from the element or attribute name. Used to group operations.
[ ]
+ * div mod
[@PRODUCTID='P001 ']
num1 + num2 num1 - num2 num1 * num2 num1 div num2 num1 mod num2
Ver. 1.0
Session 7
Slide 8 of 26
XPath functions can be used to calculate and present data as a report. The various categories of functions in XPath are:
string: Used to perform string operations. node-set: Used to manipulate node-sets or to return information about them. Boolean: Used to evaluate an expression and return true or false. numeric: Used for numeric calculations.
Ver. 1.0
Session 7
Slide 9 of 26
Problem Statement:
The executive at CyberShoppe needs to display the product-wise order report. The product and order data is stored in an XML document. This data includes product details, such as product ID, name, and price per unit. For each product, the details about all the orders placed against that product are also stored in the document. The order details include the order number, shipping address, total quantity ordered and the order value. The total sales value for each product also needs to be displayed.
Ver. 1.0
Session 7
Slide 10 of 26
Ver. 1.0
Session 7
Slide 11 of 26
PRODUCT
Ver. 1.0
Session 7
Slide 12 of 26
Problem Statement:
The employee information of an organization is stored in the file employee.xml. The data stored in this file is as follows:
<?xml version="1.0"?> <EMPDETAILS> <EMP EMPID="E001"> <ENAME>Karen</ENAME> <DESG>MANAGER</DESG> <DEPT>SALES</DEPT> <SALARY>250</SALARY> </EMP> <EMP EMPID="E002"> <ENAME>George</ENAME> <DESG>Executive</DESG> <DEPT>ACCOUNTS</DEPT> <SALARY>300</SALARY>
Ver. 1.0
Session 7
Slide 13 of 26
Ver. 1.0
Session 7
Slide 14 of 26
Display the name, designation, and department of the employees earning higher than $250 in green and the rest in red. You need to display the details as a bulleted list. Create the style sheet using an XSLT editor.
Ver. 1.0
Session 7
Slide 15 of 26
The features of HTML and XSLT can be combined to format the data from an XML document for appropriate display. The HTML code can be embedded in an XSLT document to display the data.
Ver. 1.0
Session 7
Slide 16 of 26
The following table lists the HTML elements that are required to display data in a tabular format.
HTML Tag TABLE Description Acts as a container for all other tags used to specify the appearance of data in a table. It has attributes, such as border, background color, cellpadding, cellspacing, and width that enable you to specify the appearance of the table. Used to specify headings for a table. Used as a parent for the TR and TD elements. Used to represent a row in a table. This tag acts as a container for the TH and TD elements. Used to add column headings. Used to specify the data to be displayed in columns.
THEAD TBODY TR TH TD
Ver. 1.0
Session 7
Slide 17 of 26
Problem Statement:
The details about the books that are available for sale at CyberShoppe are stored in an XML document. The book details, such as book ID, title, rate, author first name, and author last name should be displayed in a table. The first and last names of the author should be displayed in a single column, AUTHOR(S). If a book has multiple authors, their names should be displayed as comma-separated values. The following figure shows a sample output.
Ver. 1.0
Session 7
Slide 18 of 26
Problem Statement:
The list of products sold at CyberShoppe needs to be displayed. These products need to be categorized based on their prices, with products priced higher than $50 displayed in red and the rest in green. The product name, description, price, and quantity on hand of each product should be displayed, as shown in the following figure.
Session 7
Slide 19 of 26
You need to display the details of all employees whose salary is equal to $1200. The salary of an employee is represented using the SALARY element in an XML document. Which of the following statements will you use to filter the employee data based on the specified criterion?
a. b. c. d. <xsl:if <xsl:if <xsl:if <xsl:if test=SALARY[. = 1200]> test=SALARY[. = 1200] /> select=SALARY[. = 1200]> match=SALARY[. = 1200]>
Answer:
a. <xsl:if test=SALARY[. = 1200]>
Ver. 1.0
Session 7
Slide 20 of 26
What will the following XPath expression return? starts-with(Hello World, world)
a. b. c. d. 0 True False 7
Answer:
c. False
Ver. 1.0
Session 7
Slide 21 of 26
Answer:
c. The expression will result in an error.
Ver. 1.0
Session 7
Slide 22 of 26
Consider the following statements: Statement A: XPath treats an XML document as a tree of inter-related branches and nodes. Statement B: A node can be of any type, such as an element, attribute, processing instruction (PI), comment, text, or namespace. Which of the following is correct about the preceding statements?
a. b. c. d. Statement A is True, and Statement B is False. Statement A is False, and Statement B is True. Both, Statement A and Statement B, are True. Both, Statement A and Statement B, are False.
Answer:
c. Both, Statement A and Statement B, are True.
Ver. 1.0
Session 7
Slide 23 of 26
Which one of the following statements will you use to display the value of an attribute named partno?
a. b. c. d. <xsl:text select=partno/> <xsl:value-of select= @partno /> <xsl:value-of select= partno /> <xsl:value-of select= @partno >
Answer:
b. <xsl:value-of select= @partno />
Ver. 1.0
Session 7
Slide 24 of 26
Ver. 1.0
Session 7
Slide 25 of 26
XPath expressions can match specific patterns, retrieve results, and perform additional operations relative to the context of the returned nodes. XPath provides the following types of functions:
string: Used for basic string operations, such as finding the length of a string or changing a string from uppercase to lowercase. node-set: Used to manipulate node sets or return information about node sets. Boolean: Used to return either true or false based on the argument passed to it. numeric: Used to perform calculations on numeric values.
The HTML code in an XSLT style sheet is used to display data in different formats. The import element is used to import one XSLT style sheet to another XSLT style sheet.
Ver. 1.0
Session 7
Slide 26 of 26