XSLT Programming Constructs

Size: px
Start display at page:

Download "XSLT Programming Constructs"

Transcription

1 XSLT Programming Constructs

2 Contents 1. Procedural programming in XSLT 2. Defining named template rules 3. Parameterizing XSLT style sheets 2

3 1. Procedural Programming in XSLT Declarative vs. procedural programming Support for variables in XSLT Declaring variables Using variables Making decisions Looping 3

4 Declarative vs Procedural Programming XSLT is a declarative language You declare template rules to define "how things should be done" You do not explicitly control the flow of control through the style sheet The XSLT processing engine (Xalan) controls the flow This is quite different from procedural languages In procedural languages, you define the flow of control As a gesture to procedural developers, the XSLT standard includes procedural language constructs Variables, decision-making constructs, and loops 4

5 Support for Variables in XSLT You can declare variables in a style sheet Use <xsl:variable> You can define variables at different scopes Global variables Local variables 5

6 Declaring Variables There are two ways to declare a variable To define a string, number, or boolean value <xsl:variable name="name-of-variable" select="value-of-variable"/> To define an XML-tree-fragment value <xsl:variable name="name-of-variable"> XML-tree-fragment </xsl:variable> Note: You cannot change the value of a variable after it has been assigned It's like a final variable in Java (or const in C/C++) 6

7 Example of Declaring Variables <?xml encoding="iso_8859-1"?> <xsl:stylesheet xmlns:xsl=" <xsl:variable name="currency-symbol" select="'s'" /> <xsl:variable name="table-header"> <thead style="background-color:darkblue; color:lightblue"> <td align="center" width="20%">emp number</td> <td align="left" width="50%">full name</td> <td align="right" width="30%">salary</td> </thead> </xsl:variable> <!-- Template rules --> </xsl:stylesheet> 7

8 Using Variables There are three ways to use variables To evaluate a text, numeric, or boolean variable within a template rule body: <xsl:value-of select="$name-of-variable" /> To copy an XML-tree-fragment variable into a template rule body: <xsl:copy-of select="$name-of-variable" /> To evaluate a text, numeric, or boolean variable in an attribute: <MyElement MyAttribute="{$name-of-variable}" /> 8

9 Using Variables: Example 1 <xsl:template match="/"> <table width="90%"> <xsl:copy-of select="$table-header"/> <tbody> <xsl:apply-templates select="company/employee"/> </tbody> </table> <xsl:template match="salary"> Salary <xsl:value-of select="$currency-symbol"/> <xsl:value-of select="."/> <xsl:template match="dailyrate"> Daily rate <xsl:value-of select="$currency-symbol"/> <xsl:value-of select="."/> UsingVariables1.xsl 9

10 Using Variables: Example 2 <xsl:variable name="align-number" select="'center'" /> <xsl:variable name="align-name" select="'left'" /> <xsl:variable name="align-salary" select="'right'" /> <xsl:variable name="table-header"> <thead style="background-color:darkblue; color:lightblue"> <td align="{$align-number}" width="20%">emp number</td> <td align="{$align-name}" width="50%">full name</td> <td align="{$align-salary}" width="30%">salary</td> </thead> </xsl:variable> <xsl:template match="employee"> <tr style="background-color:yellow"> <td align="{$align-number}"> </td> <td align="{$align-name}"> </td> <td align="{$align-salary}"> </td> </tr> UsingVariables2.xsl 10

11 Making Decisions You can make decisions in a template rule To make a one-way decision: <xsl:if test="test-expression"> template-body </xsl:if> To make a multi-way decision: <xsl:choose> <xsl:when test="test-expression"> template-body </xsl:when> <xsl:when test="test-expression"> template-body </xsl:when> <xsl:otherwise> template-body </xsl:otherwise> </xsl:choose> 11

12 Making Decisions: Example 1 <xsl:template match="name"> MakingDecisions1.xsl <xsl:value-of select="lastname"/>, <xsl:value-of select="firstname"/> <xsl:if test="../@jobtitle='director'"> [DIRECTOR] </xsl:if> <xsl:template match="salary"> Salary $ <xsl:value-of select="."/> <xsl:choose> <xsl:when test=". >= 70000"> [TAX BAND 1] </xsl:when> <xsl:when test=". >= 40000"> [TAX BAND 2] </xsl:when> <xsl:otherwise> </xsl:choose> [TAX BAND 3] </xsl:otherwise> 12

13 Making Decisions: Example 2 <xsl:template match="salary"> Salary $ <xsl:value-of select="."/> MakingDecisions2.xsl <xsl:choose> <xsl:when test=". >= 70000"> <b>[<i>tax BAND 1</i>]</b> </xsl:when> <xsl:when test=". >= 40000"> <b>[<i>tax BAND 2</i>]</b> </xsl:when> <xsl:otherwise> <b>[<i>tax BAND 3</i>]</b> </xsl:otherwise> </xsl:choose> 13

14 Making Decisions: Example 3 <xsl:template match="salary"> Salary $ <xsl:value-of select="."/> MakingDecisions3.xsl <xsl:variable name="tax-band"> <xsl:choose> <xsl:when test=". >= 70000">1</xsl:when> <xsl:when test=". >= 40000">2</xsl:when> <xsl:otherwise>3</xsl:otherwise> </xsl:choose> </xsl:variable> <b>[<i>tax BAND <xsl:value-of select="$tax-band"/> </i>]</b> 14

15 Making Decisions: Example 4 <xsl:template match="employee"> MakingDecisions4.xsl <xsl:variable name="row-col"> <xsl:choose> <xsl:when test="position() mod 2 = 0">pink</xsl:when> <xsl:otherwise>lightblue</xsl:otherwise> </xsl:choose> </xsl:variable> <tr style="background-color:{$row-col}"> <td align="center"> <xsl:value-of select="@empnum"/> </td> <td align="left"> <xsl:apply-templates select="name"/> </td> <td align="right"> <xsl:apply-templates select="salary DailyRate"/> </td> </tr> 15

16 Looping You can perform iterations in a template rule <xsl:for-each select="expression"> template-body </xsl:for-each> <xsl:for-each> vs. <xsl:apply-templates> <xsl:for-each> = "pull processing" Gathers matching nodes, and iterates through the nodes <xsl:apply-templates> = "push processing" Gathers matching nodes, and pushes the nodes out to the other template rules in the style sheet Note: you can define optional <xsl:sort> elements after the <xsl:for-each> start tag 16

17 Looping: Example <xsl:template match="/"> <table width="90%"> <thead > </thead> <tbody> <xsl:for-each select="company/employee"> <xsl:sort select="name/lastname"/> <tr style="background-color:yellow"> <td align="center"> <xsl:value-of </td> <td align="left"> <xsl:apply-templates select="name"/> </td> <td align="right"> Output all </td> employees </tr> </xsl:for-each> </tbody> </table> <xsl:apply-templates select="salary DailyRate"/> Looping.xsl 17

18 2. Defining Named Template Rules Recap of applied template rules What is a named template rule? Example of named template rules Support for parameters in XSLT Declaring local parameters Passing parameter values 18

19 Recap of Applied Template Rules All of the template rules we have seen so far have been "applied template rules" The template rule has a match attribute, to indicate which content is transformed by the template rule <xsl:template match="match-criterion"> To instantiate the template rule Use <xsl:apply-templates> to gather nodes to be transformed <xsl:apply-templates select="selection-criterion" /> The XSLT processing engine instantiates the appropriate template rule(s), to transform the nodes 19

20 What is a Named Template Rule? A "named template rule" has a name rather than a match criterion Similar to functions in a procedural language Useful for performing common processing Also useful for simplifying template rules that would otherwise be too complex <xsl:template name="name-of-template-rule"> To call the template rule Use <xsl:call-template> <xsl:call-template name="name-of-template-rule" /> 20

21 Example of Named Template Rules <xsl:template match="employee"> <tr style="background-color:yellow"> <xsl:call-template name="displayemployeecolumns"/> </tr> NamedTemplateRules.xsl <xsl:template name="displayemployeecolumns"> <td align="center"> <xsl:value-of </td> <td align="left"> <xsl:apply-templates select="name"/> </td> <td align="right"> <xsl:apply-templates select="salary DailyRate"/> </td> 21

22 Support for Parameters in XSLT You can declare parameters in a style sheet Use <xsl:param> You can define parameters at different scopes Global parameters Local parameters 22

23 Declaring Local Parameters Declare <xsl:param> at the beginning of the template rule You can supply a default value for the parameter, in case the caller doesn't supply a value There are two ways to declare a local parameter To declare a parameter that has a string, number, or boolean default value: <xsl:param name="name-of-parameter" select="default-value-of-parameter"/> To declare a parameter that has an XML-tree-fragment default value: <xsl:param name="name-of-parameter"> XML-tree-fragment-default-value </xsl:param> 23

24 Example of Declaring Parameters <xsl:template name="displaycontent"> <xsl:param name="headbgcol" select="'darkblue'" /> <xsl:param name="headfgcol" select="'lightblue'"/> <xsl:param name="banner"> <h1>employee details</h1> </xsl:param> <body style="font-family:comic Sans MS; font-size:14"> <xsl:copy-of select="$banner"/> <table width="90%"> <thead style="background-color:{$headbgcol}; color:{$headfgcol}"> <td align="center" width="20%">emp number</td> <td align="left" width="50%">full name</td> <td align="right" width="30%">salary</td> </thead> <tbody> <xsl:apply-templates select="company/employee"/> </tbody> </table> </body> LocalParameters.xsl 24

25 Passing Parameter Values To pass a parameter into a template rule, use <xsl:with-param> when you apply/call the template rule To pass a string, number, or boolean parameter value <xsl:with-param name="name-of-parameter" select="value-for-parameter"/> To pass an XML-tree-fragment parameter value <xsl:with-param name="name-of-parameter"> XML-tree-fragment-for-parameter </xsl:with-param> 25

26 Example of Passing Parameter Values <xsl:template match="/"> <html> <xsl:call-template name="displaycontent"> <xsl:with-param name="headbgcol" select="'darkgreen'"/> <xsl:with-param name="banner"> <hr/><h3>employee information</h3><hr/><br/> </xsl:with-param> </xsl:call-template> </html> LocalParameters.xsl 26

27 3. Parameterizing XSLT Style Sheets Why parameterize a style sheet? Declaring global parameters in a style sheet Passing values in XMLSpy 27

28 Why Parameterize a Style Sheet? Examples of usage: To pass filter values into the style sheet To pass aesthetic information into the style sheet To pass text strings into the style sheet To pass filenames into the style sheet To pass conditional logic flags into the style sheet See notes below for some examples 28

29 Declaring and Using Global Parameters To declare global parameters: Declare a top-level <xsl:param> for each parameter To use a parameter: Use the syntax $param-name within a template rule <xsl:stylesheet xmlns:xsl=" <xsl:param name="minsal" select="0"/> <xsl:param name="maxsal" select=" "/> <xsl:template match="/"> <xsl:apply-templates select="company/employee[salary >= $MinSal and Salary <= $MaxSal]" /> </xsl:stylesheet> ParameterizedCompanyToHTML.xsl 29

30 Passing Values in XMLSpy XMLSpy allows you to specify parameters for style sheets Menu command: XSL/XQuery XSL Parameters / XQuery Variables Specify parameter names and values as required Then execute the style sheet as normal 30

31 Any Questions? 31

XSL Elements. xsl:copy-of

XSL Elements. xsl:copy-of XSL Elements The following elements are discussed on this page: xsl:copy-of xsl:value-of xsl:variable xsl:param xsl:if xsl:when xsl:otherwise xsl:comment xsl:import xsl:output xsl:template xsl:call-template

More information

Computer Science E-259

Computer Science E-259 Computer Science E-259 XML with Java Lecture 5: XPath 1.0 (and 2.0) and XSLT 1.0 (and 2.0), Continued 22 October 2007 David J. Malan malan@post.harvard.edu 1 Computer Science E-259 Last Time CSS Level

More information

XSLT (part II) Mario Alviano A.Y. 2017/2018. University of Calabria, Italy 1 / 19

XSLT (part II) Mario Alviano A.Y. 2017/2018. University of Calabria, Italy 1 / 19 1 / 19 XSLT (part II) Mario Alviano University of Calabria, Italy A.Y. 2017/2018 Outline 2 / 19 1 Introduction 2 Variables, conditional constructs and iterations 3 Sorting and grouping 4 Named templates

More information

XSLT: How Do We Use It?

XSLT: How Do We Use It? XSLT: How Do We Use It? Nancy Hallberg Nikki Massaro Kauffman 1 XSLT: Agenda Introduction & Terminology XSLT Walkthrough Client-Side XSLT/XHTML Server-Side XSLT/XHTML More Creative Server-Side XSLT 2 XSLT:

More information

Author: Irena Holubová Lecturer: Martin Svoboda

Author: Irena Holubová Lecturer: Martin Svoboda NPRG036 XML Technologies Lecture 6 XSLT 9. 4. 2018 Author: Irena Holubová Lecturer: Martin Svoboda http://www.ksi.mff.cuni.cz/~svoboda/courses/172-nprg036/ Lecture Outline XSLT Principles Templates Instructions

More information

Exam : Title : XML 1.1 and Related Technologies. Version : DEMO

Exam : Title : XML 1.1 and Related Technologies. Version : DEMO Exam : 000-142 Title : XML 1.1 and Related Technologies Version : DEMO 1. XML data is stored and retrieved within a relational database for a data-centric application by means of mapping XML schema elements

More information

Extensible Markup Stylesheet Transformation (XSLT)

Extensible Markup Stylesheet Transformation (XSLT) Extensible Markup Stylesheet Transformation (XSLT) Asst. Prof. Dr. Kanda Runapongsa Saikaew (krunapon@kku.ac.th) Dept. of Computer Engineering Khon Kaen University 1 Overview Terms: XSL, XSLT, XSL-FO Value

More information

Advanced XSLT editing: Content query web part (CQWP) Dolev Raz SharePoint top soft Soft.co.il

Advanced XSLT editing: Content query web part (CQWP) Dolev Raz SharePoint top soft Soft.co.il Advanced XSLT editing: Content query web part (CQWP) Dolev Raz SharePoint Implementer @ top soft dolev_r@top- Soft.co.il About Me Dolev Raz 22 years-old Live in Qiriyat Ono Works in Logic trough Top Soft

More information

EXAM XML 1.1 and Related Technologies TYPE: DEMO

EXAM XML 1.1 and Related Technologies TYPE: DEMO IBM EXAM - 000-142 XML 1.1 and Related Technologies TYPE: DEMO http://www.examskey.com/000-142.html 1 Question: 1 XML data is stored and retrieved within a relational database for a data-centric application

More information

Style Sheet A. Bellaachia Page: 22

Style Sheet A. Bellaachia Page: 22 Style Sheet How to render the content of an XML document on a page? Two mechanisms: CSS: Cascading Style Sheets XSL (the extensible Style sheet Language) CSS Definitions: CSS: Cascading Style Sheets Simple

More information

Sample Text Point Instruction

Sample Text Point Instruction TSMAD29/DIPWG7 11.11B Paper for Consideration by TSMAD/DIPWG Potential Adjustments to S-100 Part 9 Portrayal - Text Styles. Submitted by: CARIS Executive Summary: This paper discusses the introduction

More information

Extensions to XSLT 1.0, and XSLT 2.0

Extensions to XSLT 1.0, and XSLT 2.0 ... Extensions A typical problem: XSLT 1.0 does not have any way of finding the current date and time. However, some XSLT 1.0 processors allow you to use extensions to XSLT 1.0. The EXSLT initiative http://www.exslt.org/

More information

Burrows & Langford Appendix D page 1 Learning Programming Using VISUAL BASIC.NET

Burrows & Langford Appendix D page 1 Learning Programming Using VISUAL BASIC.NET Burrows & Langford Appendix D page 1 APPENDIX D XSLT XSLT is a programming language defined by the World Wide Web Consortium, W3C (http://www.w3.org/tr/xslt), that provides the mechanism to transform a

More information

XSLT. Announcements (October 24) XSLT. CPS 116 Introduction to Database Systems. Homework #3 due next Tuesday Project milestone #2 due November 9

XSLT. Announcements (October 24) XSLT. CPS 116 Introduction to Database Systems. Homework #3 due next Tuesday Project milestone #2 due November 9 XSLT CPS 116 Introduction to Database Systems Announcements (October 24) 2 Homework #3 due next Tuesday Project milestone #2 due November 9 XSLT 3 XML-to-XML rule-based transformation language Used most

More information

XSL Languages. Adding styles to HTML elements are simple. Telling a browser to display an element in a special font or color, is easy with CSS.

XSL Languages. Adding styles to HTML elements are simple. Telling a browser to display an element in a special font or color, is easy with CSS. XSL Languages It started with XSL and ended up with XSLT, XPath, and XSL-FO. It Started with XSL XSL stands for EXtensible Stylesheet Language. The World Wide Web Consortium (W3C) started to develop XSL

More information

XML. Objectives. Duration. Audience. Pre-Requisites

XML. Objectives. Duration. Audience. Pre-Requisites XML XML - extensible Markup Language is a family of standardized data formats. XML is used for data transmission and storage. Common applications of XML include business to business transactions, web services

More information

XSLT is... XML XSLT XSL-FO XPath

XSLT is... XML XSLT XSL-FO XPath XSLT XSLT is... XML XSLT XSL-FO XPath Назначение XSLT XML XML Назначение XSLT XML HTML Сервер Браузер Назначение XSLT XML HTML Сервер Браузер Declaration

More information

Advanced XSLT. Web Data Management and Distribution. Serge Abiteboul Ioana Manolescu Philippe Rigaux Marie-Christine Rousset Pierre Senellart

Advanced XSLT. Web Data Management and Distribution. Serge Abiteboul Ioana Manolescu Philippe Rigaux Marie-Christine Rousset Pierre Senellart Advanced XSLT Web Data Management and Distribution Serge Abiteboul Ioana Manolescu Philippe Rigaux Marie-Christine Rousset Pierre Senellart Web Data Management and Distribution http://webdam.inria.fr/textbook

More information

<xsl:apply-templates select="atom:entry/atom:content"/> <xsl:copy-of xmlns:xsl="http://www.w3.org/1999/xsl/transform"/>

<xsl:apply-templates select=atom:entry/atom:content/> <xsl:copy-of xmlns:xsl=http://www.w3.org/1999/xsl/transform/> Split one of your gravestone XSL stylesheets into two parts, one with templates about persons, the other with templates about inscriptions. Have a third template which pulls them together, using .

More information

Semi-structured Data 11 - XSLT

Semi-structured Data 11 - XSLT Semi-structured Data 11 - XSLT Andreas Pieris and Wolfgang Fischl, Summer Term 2016 Outline What is XSLT? XSLT at First Glance XSLT Templates Creating Output Further Features What is XSLT? XSL = extensible

More information

Advanced XSLT. Web Data Management and Distribution. Serge Abiteboul Philippe Rigaux Marie-Christine Rousset Pierre Senellart

Advanced XSLT. Web Data Management and Distribution. Serge Abiteboul Philippe Rigaux Marie-Christine Rousset Pierre Senellart Advanced XSLT Web Data Management and Distribution Serge Abiteboul Philippe Rigaux Marie-Christine Rousset Pierre Senellart http://gemo.futurs.inria.fr/wdmd January 15, 2010 Gemo, Lamsade, LIG, Télécom

More information

XSLT program. XSLT elements. XSLT example. An XSLT program is an XML document containing

XSLT program. XSLT elements. XSLT example. An XSLT program is an XML document containing XSLT CPS 216 Advanced Database Systems Announcements (March 24) 2 Homework #3 will be assigned next Tuesday Reading assignment due next Wednesday XML processing in Lore (VLDB 1999) and Niagara (VLDB 2003)

More information

COP 4814 Florida International University Kip Irvine XSLT. Updated: 2/9/2016 Based on Goldberg, Chapter 2. Irvine COP 4814

COP 4814 Florida International University Kip Irvine XSLT. Updated: 2/9/2016 Based on Goldberg, Chapter 2. Irvine COP 4814 COP 4814 Florida International University Kip Irvine XSLT Updated: 2/9/2016 Based on Goldberg, Chapter 2 XSL Overview XSL Extensible Stylesheet Language A family of languages used to transform and render

More information

XSL Concepts: Conditions and Loops. Robert Kiffe, Senior Web Developer OmniUpdate, Inc.

XSL Concepts: Conditions and Loops. Robert Kiffe, Senior Web Developer OmniUpdate, Inc. XSL Concepts: Conditions and Loops Robert Kiffe, Senior Web Developer OmniUpdate, Inc. Quick XSL Recap Conditional Statements If Choose XPath Conditional Loops For-Each For-Each-Group Apply-Templates Activities!

More information

XPath and XSLT. Overview. Context. Context The Basics of XPath. XPath and XSLT. Nodes Axes Expressions. Stylesheet templates Transformations

XPath and XSLT. Overview. Context. Context The Basics of XPath. XPath and XSLT. Nodes Axes Expressions. Stylesheet templates Transformations XPath and XSLT Michael B. Spring Department of Information Science and Telecommunications University of Pittsburgh spring@imap.pitt.edu http://www.sis.pitt.edu/~spring Context The Basics of XPath Nodes

More information

The Transformation Language XSL

The Transformation Language XSL Chapter 8 The Transformation Language XSL 8.1 XSL: Extensible Stylesheet Language developed from CSS (Cascading Stylesheets) scripting language for transformation of data sources to HTML or any other optical

More information

Introduction to XSLT. Version 1.3 March nikos dimitrakas

Introduction to XSLT. Version 1.3 March nikos dimitrakas Introduction to XSLT Version 1.3 March 2018 nikos dimitrakas Table of contents 1 INTRODUCTION... 3 1.1 XSLT... 3 1.2 PREREQUISITES... 3 1.3 STRUCTURE... 3 2 SAMPLE DATA... 4 3 XSLT... 6 4 EXAMPLES... 7

More information

XSL Transformation (XSLT) XSLT Processors. Example XSLT Stylesheet. Calling XSLT Processor. XSLT Structure

XSL Transformation (XSLT) XSLT Processors. Example XSLT Stylesheet. Calling XSLT Processor. XSLT Structure Transformation (T) SOURCE The very best of Cat Stevens UK 8.90 1990 Empire Burlesque Bob

More information

XSLT (part I) Mario Alviano A.Y. 2017/2018. University of Calabria, Italy 1 / 22

XSLT (part I) Mario Alviano A.Y. 2017/2018. University of Calabria, Italy 1 / 22 1 / 22 XSLT (part I) Mario Alviano University of Calabria, Italy A.Y. 2017/2018 Outline 2 / 22 1 Introduction 2 Templates 3 Attributes 4 Copy of elements 5 Exercises 4 / 22 What is XSLT? XSLT is a (Turing

More information

Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on XML and Semantic Web

Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on XML and Semantic Web Course on XML and Semantic Web Technologies, summer term 2012 0/44 XML and Semantic Web Technologies XML and Semantic Web Technologies I. XML / 5. XML Stylesheet Language Transformations (XSLT) Lars Schmidt-Thieme

More information

INTERNET & WEB APPLICATION DEVELOPMENT SWE 444. Fall Semester (081) Module 4 (III): XSL

INTERNET & WEB APPLICATION DEVELOPMENT SWE 444. Fall Semester (081) Module 4 (III): XSL INTERNET & WEB APPLICATION DEVELOPMENT SWE 444 Fall Semester 2008-2009 (081) Module 4 (III): XSL Dr. El-Sayed El-Alfy Computer Science Department King Fahd University of Petroleum and Minerals alfy@kfupm.edu.sa

More information

XSLT. Patryk Czarnik. XML and Applications 2014/2015 Lecture

XSLT. Patryk Czarnik. XML and Applications 2014/2015 Lecture XSLT Patryk Czarnik XML and Applications 2014/2015 Lecture 10 15.12.2014 XSLT where does it come from? XSL Extensible Stylesheet Language Presentation of XML documents by transformation XSLT XSL Transformations

More information

XSLT. December 16, 2008

XSLT. December 16, 2008 XSLT December 16, 2008 XML is used in a large number of applications, either data-centric (semi-structured databases), or document-centric (Web publishing). In either case, there is a need for transforming

More information

4. Unit: Transforming XML with XSLT

4. Unit: Transforming XML with XSLT Semistructured Data and XML 28 4. Unit: Transforming XML with XSLT Exercise 4.1 (XML to HTML) Write an XSLT routine performing the following task: Map the following country data for each country to an

More information

XML and Databases XSLT Stylesheets and Transforms

XML and Databases XSLT Stylesheets and Transforms XML and Databases XSLT Stylesheets and Transforms Kim.Nguyen@nicta.com.au Lecture 11 1 / 38 extensible Stylesheet Language Transformations Outline 1 extensible Stylesheet Language Transformations 2 Templates

More information

info-h-509 xml technologies Lecture 5: XSLT Stijn Vansummeren February 14, 2017

info-h-509 xml technologies Lecture 5: XSLT Stijn Vansummeren February 14, 2017 info-h-509 xml technologies Lecture 5: XSLT Stijn Vansummeren February 14, 2017 lecture outline 1 How XML may be rendered in Web Browsers 2 Syntax and Semantics of XSLT 3 How XPath is used in XSLT 1 our

More information

XSL and OU Campus. OmniUpdate User Training Conference OmniUpdate, Inc Flynn Road, Suite 100 Camarillo, CA 93012

XSL and OU Campus. OmniUpdate User Training Conference OmniUpdate, Inc Flynn Road, Suite 100 Camarillo, CA 93012 XSL and OU Campus OmniUpdate User Training Conference 2015 OmniUpdate, Inc. 1320 Flynn Road, Suite 100 Camarillo, CA 93012 OmniUpdate, Inc. 1320 Flynn Road, Suite 100 Camarillo, CA 93012 800.362.2605 805.484.9428

More information

Computer Science E-259

Computer Science E-259 Computer Science E-259 XML with Java Lecture 4: XPath 1.0 (and 2.0) and XSLT 1.0 (and 2.0) 21 February 2007 David J. Malan malan@post.harvard.edu 1 Computer Science E-259 Last Time DOM Level 3 JAXP 1.3

More information

XML and Semantic Web Technologies. II. XML / 5. XML Stylesheet Language Transformations (XSLT)

XML and Semantic Web Technologies. II. XML / 5. XML Stylesheet Language Transformations (XSLT) XML and Semantic Web Technologies XML and Semantic Web Technologies II. XML / 5. XML Stylesheet Language Transformations (XSLT) Lars Schmidt-Thieme Information Systems and Machine Learning Lab (ISMLL)

More information

XPath and XSLT without the pain!

XPath and XSLT without the pain! XPath and XSLT without the pain! Bertrand Delacrétaz ApacheCon EU 2007, Amsterdam bdelacretaz@apache.org www.codeconsult.ch slides revision: 2007-05-04 Goal Learning to learn XPath and XSLT because it

More information

XSLT 3.0 Testbed. Tony Graham Mentea 13 Kelly s Bay Beach Skerries, Co Dublin Ireland

XSLT 3.0 Testbed. Tony Graham Mentea 13 Kelly s Bay Beach Skerries, Co Dublin Ireland XSLT 3.0 Testbed Tony Graham Mentea 13 Kelly s Bay Beach Skerries, Co Dublin Ireland info@mentea.net http://www.mentea.net Version 1.0 15 February 2014 2014 Mentea XSLT 3.0 Testbed XSLT 3.0 Testbed xsl:attribute-set

More information

Display the XML Files for Disclosure to Public by Using User-defined XSL Zhiping Yan, BeiGene, Beijing, China Huadan Li, BeiGene, Beijing, China

Display the XML Files for Disclosure to Public by Using User-defined XSL Zhiping Yan, BeiGene, Beijing, China Huadan Li, BeiGene, Beijing, China PharmaSUG China 2018 Paper CD-72 Display the XML Files for Disclosure to Public by Using User-defined XSL Zhiping Yan, BeiGene, Beijing, China Huadan Li, BeiGene, Beijing, China ABSTRACT US Food and Drug

More information

Introduction to XSLT

Introduction to XSLT Introduction to XSLT Justin Tilton, Chief Executive Officer instructional media + magic, inc. at the JA-SIG Conference Vancouver, BC Sunday, June 9, 2002 The Abstract Looking for a methodology to quickly

More information

XSLT Version 2.0 is Turing-Complete: A Purely Transformation Based Proof

XSLT Version 2.0 is Turing-Complete: A Purely Transformation Based Proof XSLT Version 2.0 is Turing-Complete: A Purely Transformation Based Proof Ruhsan Onder and Zeki Bayram Department of Computer Engineering/Internet Technologies Research Center Eastern Mediterranean University

More information

Sub Templates in Oracle BI Publisher. An Oracle White Paper Aug 2009

Sub Templates in Oracle BI Publisher. An Oracle White Paper Aug 2009 Sub Templates in Oracle BI Publisher An Oracle White Paper Aug 2009 Sub Templates in Oracle BI Publisher Overview... 3 Introduction... 3 RTF Sub Template... 3 When to Use RTF Sub Template:... 4 1. To re-use

More information

The Transformation Language XSL

The Transformation Language XSL Chapter 8 The Transformation Language XSL 8.1 XSL: Extensible Stylesheet Language developed from CSS (Cascading Stylesheets) scripting language for transformation of data sources to HTML or any other optical

More information

You need to install this note if you want to enable consolidation in Embedded Model for BPC NW 10.1 in Support Package 08 Patch01.

You need to install this note if you want to enable consolidation in Embedded Model for BPC NW 10.1 in Support Package 08 Patch01. SAP Note 2218894 - Consolidation in embedded model bug fixing - CPMBPC Version 3 Validity: 04.12.2015 - active Language English Header Data Released On 14.12.2015 07:43:43 Release Status Released for Customer

More information

Roxen CMS 5.4. XSLT Tutorial

Roxen CMS 5.4. XSLT Tutorial Roxen CMS 5.4 XSLT Tutorial 2014-03-11 www.roxen.com Roxen Internet Software AB 2011 Roxen Internet Software AB. All rights reserved. Under the copyright laws, this document may not be copied, in whole

More information

Presentation. Separating Content and Presentation Cascading Style Sheets (CSS) XML and XSLT

Presentation. Separating Content and Presentation Cascading Style Sheets (CSS) XML and XSLT Presentation Separating Content and Presentation Cascading Style Sheets (CSS) XML and XSLT WordPress Projects Theme Generators WYSIWYG editor Look at tools to support generation of themes Design a new

More information

XSL extensible Style Language" DOCUMENTS MULTIMEDIA! Transforming documents using! XSLT" XSLT processor" XSLT stylesheet"

XSL extensible Style Language DOCUMENTS MULTIMEDIA! Transforming documents using! XSLT XSLT processor XSLT stylesheet DOCUMENTS MULTIMEDIA! Transforming documents using! XSLT" XSL extensible Style Language"!" A family of languages for defining document transformation and presentation" XSL XSLT XSL-FO Christine Vanoirbeek"

More information

Web Services Week 3. Fall Emrullah SONUÇ. Department of Computer Engineering Karabuk University

Web Services Week 3. Fall Emrullah SONUÇ. Department of Computer Engineering Karabuk University Web Services Week 3 Emrullah SONUÇ Department of Computer Engineering Karabuk University Fall 2017 1 Recap XML, Writing XML Rules for Writing XML Elements, Attributes, and Values XSL, XSLT 2 Contents Homework

More information

Dynamic Indexing with XSL

Dynamic Indexing with XSL In content is generally displayed in a static format. This means that the content entered never changes unless it is updated manually. When a page is transformed, the data entered on the page is visible.

More information

Excel to XML v3. Compatibility Switch 13 update 1 and higher. Windows or Mac OSX.

Excel to XML v3. Compatibility Switch 13 update 1 and higher. Windows or Mac OSX. App documentation Page 1/5 Excel to XML v3 Description Excel to XML will let you submit an Excel file in the format.xlsx to a Switch flow where it will be converted to XML and/or metadata sets. It will

More information

Copyright 2005, by Object Computing, Inc. (OCI). All rights reserved. Database to Web

Copyright 2005, by Object Computing, Inc. (OCI). All rights reserved. Database to Web Database To Web 10-1 The Problem Need to present information in a database on web pages want access from any browser may require at least HTML 4 compatibility Want to separate gathering of data from formatting

More information

Functions & Conditional Statements

Functions & Conditional Statements Functions & Conditional Statements OmniUpdate User Training Conference 2015 OmniUpdate, Inc. 1320 Flynn Road, Suite 100 Camarillo, CA 93012 OmniUpdate, Inc. 1320 Flynn Road, Suite 100 Camarillo, CA 93012

More information

Custom Tables with the LandXML Report Extension David Zavislan, P.E.

Custom Tables with the LandXML Report Extension David Zavislan, P.E. December 2-5, 2003 MGM Grand Hotel Las Vegas Custom Tables with the LandXML Report Extension David Zavislan, P.E. CV41-2 Learn some basic concepts of LandXML and the extensible Stylesheet Language (XSL)

More information

XML Wrap-up. CS 431 March 1, 2006 Carl Lagoze Cornell University

XML Wrap-up. CS 431 March 1, 2006 Carl Lagoze Cornell University XML Wrap-up CS 431 March 1, 2006 Carl Lagoze Cornell University XSLT Processing Model Input XSL doc parse Input XML doc parse Parsed tree serialize Input XML doc Parsed tree Xformed tree Output doc (xml,

More information

6/6/2016 3:23 PM 1 of 15

6/6/2016 3:23 PM 1 of 15 6/6/2016 3:23 PM 1 of 15 6/6/2016 3:23 PM 2 of 15 2) XSLT Selection XSLT allows for selection with two statements xsl:if chooses to do or not to do (very basic) xsl:choose chooses from several alternatives

More information

Web Data Management XSLT. Philippe Rigaux CNAM Paris & INRIA Saclay

Web Data Management XSLT. Philippe Rigaux CNAM Paris & INRIA Saclay http://webdam.inria.fr Web Data Management XSLT Serge Abiteboul INRIA Saclay & ENS Cachan Ioana Manolescu INRIA Saclay & Paris-Sud University Philippe Rigaux CNAM Paris & INRIA Saclay Marie-Christine Rousset

More information

Introduction to XSLT

Introduction to XSLT Introduction to XSLT Justin Tilton, Chief Executive Officer instructional media + magic, inc. at the JA-SIG Conference Destin, Florida December 2, 2001 The Abstract Looking for a methodology to quickly

More information

Introduction to XSLT. Version 1.0 July nikos dimitrakas

Introduction to XSLT. Version 1.0 July nikos dimitrakas Introduction to XSLT Version 1.0 July 2011 nikos dimitrakas Table of contents 1 INTRODUCTION... 3 1.1 XSLT... 3 1.2 PREREQUISITES... 3 1.3 STRUCTURE... 3 2 SAMPLE DATA... 4 3 XSLT... 6 4 EXAMPLES... 7

More information

<?xml version = 1.0 encoding= windows-874?> <?xml-stylesheet type= text/css href= #xmldocs?> <style id= xmldocs > element-name{ } </style>

<?xml version = 1.0 encoding= windows-874?> <?xml-stylesheet type= text/css href= #xmldocs?> <style id= xmldocs > element-name{ } </style> XML Displaying Displaying XML: CSS A modern web browser and a cascading style sheet (CSS) may be used to view XML as if it were HTML A style must be defined for every XML tag, or the browser displays it

More information

Translating XSLT into XQuery

Translating XSLT into XQuery Translating into Albin Laga, Praveen Madiraju, Darrel A. Mazzari and Gowri Dara Department of Mathematics, Statistics, and Computer Science Marquette University P.O. Box 1881, Milwaukee, WI 53201 albin.laga,

More information

White Paper. XML-Based Export and Import of Objects Using XSLT. Fabasoft Folio 2017 R1 Update Rollup 1

White Paper. XML-Based Export and Import of Objects Using XSLT. Fabasoft Folio 2017 R1 Update Rollup 1 White Paper XML-Based Export and Import of Objects Using XSLT Fabasoft Folio 2017 R1 Update Rollup 1 Copyright Fabasoft R&D GmbH, Linz, Austria, 2018. All rights reserved. All hardware and software names

More information

Excel to XML v4. Version adds two Private Data sets

Excel to XML v4. Version adds two Private Data sets Excel to XML v4 Page 1/6 Excel to XML v4 Description Excel to XML will let you submit an Excel file in the format.xlsx to a Switch flow were it will be converted to XML and/or metadata sets. It will accept

More information

store process communicate

store process communicate store process communicate 2011-10-04 store as XML communicate using HTML and CSS process with XSL

More information

WebSphere DataPower SOA Appliances and XSLT (Part 2 of 2) - Tips and Tricks

WebSphere DataPower SOA Appliances and XSLT (Part 2 of 2) - Tips and Tricks IBM Software Group WebSphere DataPower SOA Appliances and XSLT (Part 2 of 2) - Tips and Tricks Hermann Stamm-Wilbrandt (stammw@de.ibm.com) DataPower XML Compiler Developer, L3 8 July 2010 WebSphere Support

More information

Chapter 1. DocBook XSL

Chapter 1. DocBook XSL Chapter 1. DocBook XSL Bob Stayton $Id: publishing.xml,v 1.4 2002/06/03 19:26:58 xmldoc Exp $ Copyright 2000 Bob Stayton Table of Contents Using XSL tools to publish DocBook documents... 1 XSLT engines...

More information

XML. <subtitle>xslt (cont)</subtitle> <author>prof. Dr. Christian Pape</author>

XML. <subtitle>xslt (cont)</subtitle> <author>prof. Dr. Christian Pape</author> XML xslt (cont) prof. Dr. Christian Pape Content Expressions and Functions Copying nodes Using variables and parameters Conditional Processing XSLT 5-2 Expressions

More information

Semantic Web. XSLT: XML Transformation. Morteza Amini. Sharif University of Technology Fall 95-96

Semantic Web. XSLT: XML Transformation. Morteza Amini. Sharif University of Technology Fall 95-96 ه عا ی Semantic Web XSLT: XML Transformation Morteza Amini Sharif University of Technology Fall 95-96 Outline Fundamentals of XSLT XPath extensible Stylesheet Language Cocoon 2 XSLT XSLT stands for extensible

More information

Appendix H XML Quick Reference

Appendix H XML Quick Reference HTML Appendix H XML Quick Reference What Is XML? Extensible Markup Language (XML) is a subset of the Standard Generalized Markup Language (SGML). XML allows developers to create their own document elements

More information

Deliverable 5.2 Annex B Implementing the MESMA Metadata Profile on GeoNetwork 2.6.0

Deliverable 5.2 Annex B Implementing the MESMA Metadata Profile on GeoNetwork 2.6.0 Deliverable 5.2 Annex B Implementing the MESMA Metadata Profile on GeoNetwork 2.6.0 WP Leader: Gerry Sutton Coastal & Marine Resource Centre, University College Cork (Partner 8, UCC Cork, Ireland) Author:

More information

Advanced XQuery and XSLT

Advanced XQuery and XSLT NPRG036 XML Technologies Lecture 9 Advanced XQuery and XSLT 30. 4. 2018 Author: Irena Holubová Lecturer: Martin Svoboda http://www.ksi.mff.cuni.cz/~svoboda/courses/172-nprg036/ Lecture Outline XQuery Update

More information

Integrating data: Appendix F, G and H (full) GIMA Thesis. Ing. Huibert-Jan Lekkerkerk B.Sc.

Integrating data: Appendix F, G and H (full) GIMA Thesis. Ing. Huibert-Jan Lekkerkerk B.Sc. Integrating data: Appendix F, G and H (full) GIMA Thesis Ing. Huibert-Jan Lekkerkerk B.Sc. Table of contents TABLE OF CONTENTS... 3 APPENDIX F: MAPPING TO REFERENCE SET... 5 F.1 XSLT2: GAZETTEER... 5

More information

PlantVisorPRO Plant supervision

PlantVisorPRO Plant supervision PlantVisorPRO Plant supervision Software Development Kit ver. 2.0 Integrated Control Solutions & Energy Savings 2 Contents 1. Key... 5 2. Context... 5 3. File Structure... 6 4. Log Structure and error

More information

XSDs: exemplos soltos

XSDs: exemplos soltos XSDs: exemplos soltos «expande o tipo base»

More information

Birkbeck (University of London)

Birkbeck (University of London) Birkbeck (University of London) MSc Examination Department of Computer Science and Information Systems Internet and Web Technologies (COIY063H7) 15 Credits Date of Examination: 13 June 2017 Duration of

More information

IBM Research Report. Using XSLT to Detect Cycles in a Directed Graph

IBM Research Report. Using XSLT to Detect Cycles in a Directed Graph RC23144 (W0403-066) March 9, 2004 Computer Science IBM Research Report Using XSLT to Detect Cycles in a Directed Graph David Marston IBM Research Division Thomas J. Watson Research Center One Rogers Street

More information

Print & Page Layout Community W3C

Print & Page Layout Community W3C @ W3C Tony Graham Chair http://www.w3.org/community/ppl/ public-ppl@w3.org @pplcg irc://irc.w3.org:6665/#ppl Version 1.0 14 February 2014 2014 Mentea @ W3C 5 Survey 8 Decision making in XSL-FO processing

More information

Presentation 19: XML technologies part 2: XSL, XSLT, XSL-FO, XPath & XML Programming

Presentation 19: XML technologies part 2: XSL, XSLT, XSL-FO, XPath & XML Programming Presentation 19: XML technologies part 2: XSL, XSLT, XSL-FO, XPath & XML Programming Outline XML recap Formatting CSS or XSL? XPath XSL/XSLT XSL-FO XML Programming Slide 2 XML markup recap XML based on

More information

8/1/2016. XSL stands for EXtensible Stylesheet Language. CSS = Style Sheets for HTML XSL = Style Sheets for XML. XSL consists of four parts:

8/1/2016. XSL stands for EXtensible Stylesheet Language. CSS = Style Sheets for HTML XSL = Style Sheets for XML. XSL consists of four parts: XSL stands for EXtensible Stylesheet Language. CSS = Style Sheets for HTML XSL = Style Sheets for XML http://www.w3schools.com/xsl/ kasunkosala@yahoo.com 1 2 XSL consists of four parts: XSLT - a language

More information

4. Unit: Transforming XML with XSLT

4. Unit: Transforming XML with XSLT Semistructured Data and XML 38 4. Unit: Transforming XML with XSLT Exercise 4.1 (XML to HTML) Write an XSLT routine that outputs the following country data for all countries with more than 1000000inhabitants

More information

An Introduction to Web Content Publisher Authoring Templates

An Introduction to Web Content Publisher Authoring Templates By Gregory Melahn (melahn@us.ibm.com) Software Engineer, IBM Corp. July 2002 An Introduction to Web Content Publisher Authoring Templates Abstract Web Content Publisher (WCP) uses templates to author content.

More information

How to Audit DirXML Events Using Stylesheets, Java, and JDBC

How to Audit DirXML Events Using Stylesheets, Java, and JDBC How to Audit DirXML Events Using Stylesheets, Java, and JDBC How-To Article NOVELL APPNOTES Karl Bunnell Senior Software Engineer Novell Developer Solutions kbunnell@novell.com This AppNote is the last

More information

Generating Variants Using XSLT Tutorial

Generating Variants Using XSLT Tutorial Table of Contents 1. Overview... 1 2. About this tutorial... 1 3. Setting up the pure::variants project... 1 4. Setting up the feature model... 3 5. Setting up the family model... 4 6. Setting up the XSLT

More information

RXSLT Examples. Sam Wilmott August 3, 2006

RXSLT Examples. Sam Wilmott   August 3, 2006 RXSLT Examples Sam Wilmott sam@wilmott.ca www.wilmott.ca August 3, 2006 The following examples are all the examples in the XSLT 1.0 specification, each followed by the corresponding RXSLT program or program

More information

Programming issues 5.1 CONTROL STATEMENTS

Programming issues 5.1 CONTROL STATEMENTS C H A P T E R 5 Programming issues 5.1 Control statements 110 5.2 Combining stylesheets with include and import 126 5.3 Named templates 132 5.4 Debugging 133 5.5 Extensions to XSLT 143 5.6 Numbers and

More information

XML Where Angels Fear To Tread: SB/MVC on the Server

XML Where Angels Fear To Tread: SB/MVC on the Server XML Where Angels Fear To Tread: SB/MVC on the Server Introduction Michael Corning, Microsoft Corporation This session is a follow-on to "XML for the Criminally Insane: An Introduction to the Schema- Based/Model-View-Controller

More information

Improving Existing XSLT Stylesheets. Improving Existing XSLT Stylesheets Priscilla Walmsley

Improving Existing XSLT Stylesheets. Improving Existing XSLT Stylesheets Priscilla Walmsley Improving Existing XSLT Stylesheets 19 September 2013 Improving Existing XSLT Stylesheets Priscilla Walmsley Datypic, Inc. Attribution- Noncommercial-Share Alike 3.0 Unported License www.xmlsummerschool.com

More information

XSLT Transformations of XML Documents

XSLT Transformations of XML Documents XSLT Transformations of XML Documents Patryk Czarnik Institute of Informatics University of Warsaw XML and Modern Techniques of Content Management 2012/13 1 Introduction 2 Templates matching Control flow

More information

Producing a Data Dictionary from an Extensible Markup Language (XML) Schema in the Global Force Management Data Initiative

Producing a Data Dictionary from an Extensible Markup Language (XML) Schema in the Global Force Management Data Initiative ARL-TR-7956 FEB 2017 US Army Research Laboratory Producing a Data Dictionary from an Extensible Markup Language (XML) Schema in the Global Force Management Data Initiative by Frederick S Brundick NOTICES

More information

Advanced Studies in IT CT433 Exam Q&A

Advanced Studies in IT CT433 Exam Q&A Advanced Studies in IT CT433 Exam Q&A Dr. Axel Polleres www.deri.ie Copyright 2008 Digital Enterprise Research Institute. All rights reserved. XML Know what is well-formed XML, valid XML Well-formed: Close

More information

Copyright IBM Corporation All Rights Reserved.

Copyright IBM Corporation All Rights Reserved. Customizing Publication Skins IBM Rational Method Composer 7.2 Tushara Gangavaram (tgang@us.ibm.com), Tech Services Engineer, IBM Peter Haumer (phaumer@us.ibm.com), RMC Solution Architect, IBM Copyright

More information

Section A: Multiple Choice

Section A: Multiple Choice Section A: Multiple Choice Question 1 Each item has only one correct answer. Two marks for each correct answer, zero marks for each incorrect answer. Use the supplied sheet to record a single response

More information

XPath Quick Reference

XPath Quick Reference XPath Quick Reference Node Types Nodes can be of the following types: NodeType root element attribute text cornrnent processing narnespace Name Element name Attribute name Processing instruction target

More information

DP Interview Q&A. 1. What are the different services that have you used in Datapower? WebService Proxy, Multiprotocol gateway and XML Firewall

DP Interview Q&A. 1. What are the different services that have you used in Datapower? WebService Proxy, Multiprotocol gateway and XML Firewall DP Interview Q&A 1. What are the different services that have you used in Datapower? WebService Proxy, Multiprotocol gateway and XML Firewall 2. Difference between WSP and MPGW? WSP Web Service Proxy is

More information

Burrows & Langford Chapter 9 page 1 Learning Programming Using Visual Basic.NET

Burrows & Langford Chapter 9 page 1 Learning Programming Using Visual Basic.NET Burrows & Langford Chapter 9 page 1 CHAPTER 9 ACCESSING DATA USING XML The extensible Markup Language (XML) is a language used to represent data in a form that does not rely on any particular proprietary

More information

Changes to the Results Page XSLT Stylesheet

Changes to the Results Page XSLT Stylesheet Changes to the Results Page XSLT Stylesheet Changes coded by Sam Cook, Public Services Librarian, Allen Library, University of Hartford For questions about implementation and modification of code, feel

More information

XML and Databases. Lecture 11 XSLT Stylesheets and Transforms. Sebastian Maneth NICTA and UNSW

XML and Databases. Lecture 11 XSLT Stylesheets and Transforms. Sebastian Maneth NICTA and UNSW XML and Databases Lecture 11 XSLT Stylesheets and Transforms Sebastian Maneth NICTA and UNSW CSE@UNSW -- Semester 1, 2010 Outline 1. extensible Stylesheet Language Transformations (XSLT) 2. Templates:

More information