Internet Technologies XSLT Processing XML using XSLT Using XPath Escaping to Java.

Slides:



Advertisements
Similar presentations
Transforming XML XMLNamespaces, XSLT. XML Namespaces Sometimes it is necessary to mix XML elements –Different types of content –Use of markup to convey.
Advertisements

Advanced XSLT II. Iteration in XSLT we sometimes wish to apply the same transform to a set of nodes we iterate through a node set the node set is defined.
Advanced XSLT. Branching in XSLT XSLT is functional programming –The program evaluates a function –The function transforms one structure into another.
Advanced XSLT II. Iteration in XSLT we sometimes wish to apply the same transform to a set of nodes we iterate through a node set the node set is defined.
Bottom-up Evaluation of XPath Queries Stephanie H. Li Zhiping Zou.
Internet Technologies1 1 Lecture 4: Programming with XSLT.
1 XSLT – eXtensible Stylesheet Language Transformations Modified Slides from Dr. Sagiv.
XSL XSLT and XPath 11-Apr-17.
+ XSL eXtensible Stylesheet Language. + 2 XML Lecture Adapted from the work of Prof Mark Baker ACET, University of Reading.
Lecture 10. Back to the table example We can now return to considering in detail the first XSLT style-sheet we saw –The one which, when applied to the.
Processing XML Processing XML using XSLT Processing XML documents with Java (DOM) Next week -- Processing XML documents with Java (SAX)
XSL Transformations (XSLT) Meghasyam Bokam April’1 st, 2002.
XSL Concepts Lecture 7. XML Display Options What can XSL Transformations do? generation of constant text suppression of content moving text (e.g., exchanging.
XSL Transformations Lecture 8, 07/08/02. Templates The whole element is a template The match pattern determines where this template applies Result element(s)
A technical introduction Felix Eickhoff XML Basics.
Just Java XML Introductory comments Processing XML using XSLT Using XPath Escaping to Java A PowerWarning Application using XML.
CS 4408 Lecture 9. XSLT instruction elements We have seen that a template can contain non-XSLT text, canned text that it inserts into the result tree.
XML Technologies and Applications Rajshekhar Sunderraman Department of Computer Science Georgia State University Atlanta, GA 30302
Object Oriented Programming III1 XSLT Processing XML using XSLT Using XPath.
September 15, 2003Houssam Haitof1 XSL Transformation Houssam Haitof.
Internet Technologies1 XSLT Processing XML using XSLT Using XPath.
17 Apr 2002 XML Stylesheets Andy Clark. What Is It? Extensible Stylesheet Language (XSL) Language for document transformation – Transformation (XSLT)
MC 365 – Software Engineering Presented by: John Ristuccia Shawn Posts Ndi Sampson XSLT Introduction BCi.
SD2520 Databases using XML and JQuery
XSLT XSLT: eXtensible Stylesheet Language for Transformations - a language for transforming XML documents into any text- based format (e.g. HTML, plain.
ECA 228 Internet/Intranet Design I Intro to XSL. ECA 228 Internet/Intranet Design I XSL basics W3C standards for stylesheets – CSS – XSL: Extensible Markup.
10/06/041 XSLT: crash course or Programming Language Design Principle XSLT-intro.ppt 10, Jun, 2004.
XSLT Brent P. Christie Major USMC. XSLT Overview  What is XSLT? –XSL is the Extensible Style Language. –It has two parts: the transformation language.
CSE3201/CSE4500 XPath. 2 XPath A locator for elements or attributes in an XML document. XPath expression gives direction.
XML for E-commerce III Helena Ahonen-Myka. In this part... n Transforming XML n Traversing XML n Web publishing frameworks.
XSLT for Data Manipulation By: April Fleming. What We Will Cover The What, Why, When, and How of XSLT What tools you will need to get started A sample.
Comparing XSLT and XQuery Michael Kay XTech 2005.
CSE3201/CSE4500 Information Retrieval Systems
XP New Perspectives on XML Tutorial 6 1 TUTORIAL 6 XSLT Tutorial – Carey ISBN
XSLT and XPath, by Dr. Khalil1 XSL, XSLT and XPath Dr. Awad Khalil Computer Science Department AUC.
Representing Web Data: XML CSI 3140 WWW Structures, Techniques and Standards.
XP 1 CREATING AN XML DOCUMENT. XP 2 INTRODUCING XML XML stands for Extensible Markup Language. A markup language specifies the structure and content of.
WORKING WITH XSLT AND XPATH
1 CIS336 Website design, implementation and management (also Semester 2 of CIS219, CIS221 and IT226) Lecture 6 XSLT (Based on Møller and Schwartzbach,
Representing Web Data: XML CSI 3140 WWW Structures, Techniques and Standards.
Processing of structured documents Spring 2002, Part 2 Helena Ahonen-Myka.
Processing of structured documents Spring 2003, Part 7 Helena Ahonen-Myka.
XPath. Why XPath? Common syntax, semantics for [XSLT] [XPointer][XSLT] [XPointer] Used to address parts of an XML document Provides basic facilities for.
1 XSLT An Introduction. 2 XSLT XSLT (extensible Stylesheet Language:Transformations) is a language primarily designed for transforming the structure of.
ECA 228 Internet/Intranet Design I XSLT Example. ECA 228 Internet/Intranet Design I 2 CSS Limitations cannot modify content cannot insert additional text.
JSTL, XML and XSLT An introduction to JSP Standard Tag Library and XML/XSLT transformation for Web layout.
CITA 330 Section 6 XSLT. Transforming XML Documents to XHTML Documents XSLT is an XML dialect which is declared under namespace "
XSLT part of XSL (Extensible Stylesheet Language) –includes also XPath and XSL Formatting Objects used to transform an XML document into: –another XML.
XSLT Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
Transforming Documents „a how-to of transforming xml documents“ Lecture on Walter Kriha.
Lecture 11 XSL Transformations (part 1: Introduction)
IS432: Semi-Structured Data Dr. Azeddine Chikh. 6. XML Path (XPath)
XPath Aug ’10 – Dec ‘10. XPath   XML Path Language   Technology that allows to select a part or parts of an XML document to process   XPath was.
 2002 Prentice Hall, Inc. All rights reserved. 1 Chapter 12 – XSL: Extensible Stylesheet Language Transformations (XSLT) Outline 12.1Introduction 12.2Setup.
XPath. XPath, the XML Path Language, is a query language for selecting nodes from an XML document. The XPath language is based on a tree representation.
More XML XPATH, XSLT CS 431 – February 23, 2005 Carl Lagoze – Cornell University.
 XSL – Extensible Style Sheet Language  XSLT – XSL Transformations › Used to transform XML documents to other formats,like HTML or other XML documents.
XP New Perspectives on XML, 2 nd Edition Tutorial 7 1 TUTORIAL 7 CREATING A COMPUTATIONAL STYLESHEET.
XPath --XML Path Language Motivation of XPath Data Model and Data Types Node Types Location Steps Functions XPath 2.0 Additional Functionality and its.
1 XPath. 2 Agenda XPath Introduction XPath Nodes XPath Syntax XPath Operators XPath Q&A.
Querying XML, Part II Zachary G. Ives University of Pennsylvania CIS 455 / 555 – Internet and Web Systems February 5, 2008.
5 Copyright © 2004, Oracle. All rights reserved. Navigating XML Documents by Using XPath.
XML Schema – XSLT Week 8 Web site:
1 XSL Transformations (XSLT). 2 XSLT XSLT is a language for transforming XML documents into XHTML documents or to other XML documents. XSLT uses XPath.
XML - XSLT © 2015 University of Greenwich 1 XML Processing with XSLT e Xtensible Stylesheet Language Transforms Dr Kevin McManus
CH 15 XSL Transformations 1. Objective What is XSL? Overview of XSL transformations Understanding XSL templates Computing the value of a node with xsl:value-of.
1 XSLT XSLT (extensible stylesheet language – transforms ) is another language to process XML documents. Originally intended as a presentation language:
Seminar on Service Oriented Architecture
XML WITH CSS.
More XML XML schema, XPATH, XSLT
Presentation transcript:

Internet Technologies XSLT Processing XML using XSLT Using XPath Escaping to Java

Internet Technologies Processing XML using XSLT Instructions for dowloading Xalan can be found in Lab 2. The following programs were tested with the command line C:>xalan somefile.xml somefile.xsl resultfile.html The Xalan classes (and xslt processing) may also be accessed via a servlet or Java application (see Lab 2).

Internet Technologies The Catcher in the Rye J. D. Salinger Little, Brown and Company Input

Internet Technologies <xsl:stylesheet xmlns:xsl=" version="1.0"> Processing

Internet Technologies The Catcher in the Rye J. D. Salinger Little, Brown and Company Output

Internet Technologies The Catcher in the Rye J. D. Salinger Little, Brown and Company Input

Internet Technologies <xsl:stylesheet xmlns:xsl=" version="1.0"> The default rules matches the root, library and block elements.

Internet Technologies The Catcher in the Rye J. D. Salinger Little, Brown and Company The output is the same.

Internet Technologies The Catcher in the Rye J. D. Salinger Little, Brown and Company Cliff Notes on The Catcher in the Rye Two books in the input

Internet Technologies <xsl:stylesheet xmlns:xsl=" version="1.0"> What’s the output?

Internet Technologies The Catcher in the Rye J. D. Salinger Little, Brown and Company Cliff Notes on The Catcher in the Rye Illegal HTML

Internet Technologies The Catcher in the Rye J. D. Salinger Little, Brown and Company Input

Internet Technologies <xsl:stylesheet xmlns:xsl=" version="1.0"> <!-- --> We are not matching on publisher.

Internet Technologies The Catcher in the Rye J. D. Salinger Little, Brown and Company We get the default rule matching the publisher and then printing its child.

Internet Technologies The Catcher in the Rye J. D. Salinger Little, Brown and Company Input

Internet Technologies <xsl:stylesheet xmlns:xsl=" version="1.0"> We can skip the publisher by matching and stopping the recursion.

Internet Technologies The Catcher in the Rye J. D. Salinger

Internet Technologies The Catcher in the Rye J. D. Salinger Little, Brown and Company The Catcher in the Rye J. D. Salinger Little, Brown and Company The Catcher in the Rye J. D. Salinger Little, Brown and Company A shelf has many books.

Internet Technologies <xsl:stylesheet xmlns:xsl=" version="1.0"> Will this do the job?

Internet Technologies The Catcher in the Rye J. D. Salinger Little, Brown and Company The Catcher in the Rye J. D. Salinger Little, Brown and Company The Catcher in the Rye J. D. Salinger Little, Brown and Company This is not what we want.

Internet Technologies The Catcher in the Rye J. D. Salinger Little, Brown and Company The Catcher in the Rye J. D. Salinger Little, Brown and Company The Catcher in the Rye J. D. Salinger Little, Brown and Company Same input.

Internet Technologies <xsl:stylesheet xmlns:xsl=" version="1.0"> Found a shelf Checks for a shelf and quits.

Internet Technologies Found a shelf Output

Internet Technologies The Catcher in the Rye J. D. Salinger Little, Brown and Company The Catcher in the Rye J. D. Salinger Little, Brown and Company The Catcher in the Rye J. D. Salinger Little, Brown and Company Same input.

Internet Technologies <xsl:stylesheet xmlns:xsl=" version="1.0"> These are a few of my favorite books Produce a table of books.

Internet Technologies These are a few of my favorite books 1 The Catcher in the Rye J. D. Salinger Little, Brown and Company 2 The XSLT Programmer's Reference Michael Kay Wrox Press 3 Computer Organization and Design Patterson and Henessey Morgan Kaufmann

Internet Technologies

XPATH Non-xml language used to identify particular parts of an xml document Used by XSLT for matching and selecting particular elements to be copied into the result tree. Used by Xpointer to identify a particular point in or part of an xml document that an Xlink links to. Slides adapted from “XML in a Nutshell” by Harold

Internet Technologies XPATH First, we’ll look at three commonly used XSLT instructions: xsl:value-of xsl:template xsl:apply-templates

Internet Technologies XPATH The xsl:value-of element computes the string value of an Xpath expression and inserts it into the result tree. XPath allows us to select nodes in the tree and different node types produce different values.

Internet Technologies XPATH element => the text content of the element after all tags are stripped text => the text of the node attribute => the value of the attribute root => the value of the root processing-instruction => the processing instruction data (, and the target are not included comment => the text of the comment (no comment symbols) namespace => the namespace URI node set => the value of the first node in the set

Internet Technologies XPATH The xsl:template top-level element is the key to all of xslt. The match attribute contains a pattern (location path) against which nodes are compared as they’re processed. If the pattern matches a node, then the contents are instantiated

Internet Technologies XPATH Find and apply the highest priority template that matches the node set expression. If the select attribute is not present then all children of the context node are processed.

Internet Technologies The Tree Structure of an XML Document Alan Turing computer scientist mathematician cryptographer See Harold Pg. 147

Internet Technologies Richard M Feynman physicist Playing the bongoes Unicode ‘M’

Internet Technologies / person born = “1914” died = “1952” id=“p342” person name first_name Alan <!– Did the word “computer scientist” exist in Turing’s day?”-- > profession

Internet Technologies The root Element Nodes Text Nodes Attribute Nodes Comment Nodes Processing Instructions Namespace Nodes Nodes seen by XPath Constructs not seen by XPath CDATA sections Entity references Document Type Declarations

Internet Technologies Note The following appears in each example below so it has been removed from the slides. <xsl:stylesheet xmlns:xsl=" version="1.0" > :

Internet Technologies Location Paths The root matched the root matched the root

Internet Technologies Location Paths Child element location paths (relative to context node) computer scientist

Internet Technologies Location Paths Attribute location paths (relative to context node) 1912

Internet Technologies Location Paths Attribute location paths (relative to context node)

Internet Technologies Location Paths Comment Location Step (comments don’t have names) Did the word "computer scientist" exist in Turing's day?

Internet Technologies Location Paths Comment Location Step comment deleted Document content with comments replaced as shown. Default – no comments output

Internet Technologies Location Paths Text Location Step (Text nodes don’t have names) computer scientist

Internet Technologies Location Paths Processing Instruction Location Step type="text/xsl" href = "pi.xsl"

Internet Technologies Location Paths Wild cards There are three wild cards: *, The * matches any element node. It will not match attributes, text nodes, comments or processing instructions nodes.

Internet Technologies Location Paths Matching with * Matches all elements and requests calls on sub-elements only. Nothing is displayed. The text nodes are never reached.

Internet Technologies Location Paths Matching with node() The node() wild card matches all nodes: element nodes, text nodes, attribute nodes, processing instruction nodes, namespace nodes and comment nodes. Not implemented in XT

Internet Technologies Location Paths Matching wild card matches all attribute nodes. XT does not like it in an but likes it in an

Internet Technologies Location Paths Matching p p4567

Internet Technologies Location Paths Multiple matches with | Matches all the elements. Skips the text nodes unless they describe a profession or hobby.

Internet Technologies Location Paths Selecting from all descendants with // // selects from all descendants of the context node as well as the context node itself. At the beginning of an Xpath expression, it selects from all descendants of the root node.

Internet Technologies Location Paths Selecting from all descendants with // TuringFeynman

Internet Technologies Location Paths Selecting from all descendants with // Alan

Internet Technologies Location Paths Selecting from all descendants with // AlanRichard

Internet Technologies Location Paths Selecting from all descendants with // Richard

Internet Technologies Predicates In general, an Xpath expression may refer to more than one node. Predicates allow us to reduce the number of nodes we are interested in. Each step in a location path may have a predicate that selects from the node list that is current at that step in the expression. The boolean expression in the predicate is tested against each node in the context node list. If the expression is false then that node is deleted from the list.

Internet Technologies Predicates Richard M Feynman

Internet Technologies Predicates Richard M Feynman physicist Playing the bongoes

Internet Technologies Predicates Alan Turing computer scientist mathematician cryptographer

Internet Technologies Predicates Richard M Feynman physicist Playing the bongoes

Internet Technologies Predicates <xsl:apply-templates select = < 1950]/ name[first_name='Alan']" /> Alan Turing

Internet Technologies General XPath Expressions Xpath expressions that are not node sets can’t be used in the match attribute of an xsl:template element. They can be used for the values for the select attribute of xsl:value-of elements and in location path predicates.

Internet Technologies General XPath Expressions

Internet Technologies General XPath Expressions Xpath Functions Person Person 1 Person 2

Internet Technologies General XPath Expressions Xpath Functions Mr. T. Mr. T. Alan Turing Node set converted to string

Internet Technologies Escaping to Java Extension functions provide a mechanism for extending the capabilities of XSLT by escaping into another language Such as Java or JavaScript. If there is no namespace prefix on the function then it must be a core function built into XSLT. Otherwise, it’s an extension function.

Internet Technologies General XPath Expressions Extended Xpath Functions <xsl:template name = "show-date" xmlns:Date = " Using James Clarke’s XT

Internet Technologies Escaping to Java Mon Mar 19 10:46:17 EST 2001

Internet Technologies Escaping to Java // A simple bean saved under Www/beans/MyDate.java // The classpath c:\Jigsaw\Jigsaw\Jigsaw\Www\beans import java.util.*; public class MyDate { Date d; public MyDate() { d = new Date(); } public Date getDate() { return d; }

Internet Technologies public String toString() { return "The date is " + d.toString(); } public static void main(String a[]) { MyDate x = new MyDate(); System.out.println(x); }

Internet Technologies Escaping to Java <xsl:template name = "show-date" xmlns:Date = " The date is Mon Mar 19 11:17:24 EST 2001