Slice & dice the Web with XmlPL, The XML Processing Language A presentation for Boise Code Camp 2007 Joseph Coffland Cauldron Development LLC.

Slides:



Advertisements
Similar presentations
J0 1 Marco Ronchetti - Web architectures – Laurea Specialistica in Informatica – Università di Trento Java XML parsing.
Advertisements

Copyright 2001, ActiveState. XSLT and Scripting Languages or…XSLT: what is everyone so hot and bothered about?
Inside an XSLT Processor Michael Kay, ICL 19 May 2000.
Revision and exam preparation. major topic areas XML language –XML structure advantages/ disadvantages applications supports interoperability –DTD structure.
A Prototype Implementation of a Framework for Organising Virtual Exhibitions over the Web Ali Elbekai, Nick Rossiter School of Computing, Engineering and.
XML: Extensible Markup Language
1 XML Data Management Course Outline and Organisation Werner Nutt.
Jennifer Widom Querying XML XSLT. Jennifer Widom XSLT Querying XML Not nearly as mature as Querying Relational  Newer  No underlying algebra Sequence.
1 XML: Advanced Guide Holly A. Hyland, FSA Andrew Smalera, XML Framework Session 14.
XQuery John Annechino Steven Pow. Agenda What is XQuery? Uses of XQuery XQuery vs. XSLT Syntax –Built-In Functions –FLWOR –if-then-else –User-Defined.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 13-1 COS 346 Day 25.
ModelicaXML A Modelica XML representation with Applications Adrian Pop, Peter Fritzson Programming Environments Laboratory Linköping University.
©Silberschatz, Korth and Sudarshan10.1Database System Concepts W3C Activities HTML: is the lingua franca for publishing on the Web XHTML: an XML application.
Transforming XML The XSLT Language Michael H. Kay.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 13-1 COS 236 Day 24.
MC 365 – Software Engineering Presented by: John Ristuccia Shawn Posts Ndi Sampson XSLT Introduction BCi.
Technical Track Session XML Techie Tools Tim Bornholt.
XML Anisha K J Jerrin Thomas. Outline  Introduction  Structure of an XML Page  Well-formed & Valid XML Documents  DTD – Elements, Attributes, Entities.
Lecture 7 of Advanced Databases XML Querying & Transformation Instructor: Mr.Ahmed Al Astal.
1 XML at a neighborhood university near you Innovation 2005 September 16, 2005 Kwok-Bun Yue University of Houston-Clear Lake.
Comparing XSLT and XQuery Michael Kay XTech 2005.
XML and its applications: 4. Processing XML using PHP.
XP New Perspectives on XML, 2 nd Edition Tutorial 10 1 WORKING WITH THE DOCUMENT OBJECT MODEL TUTORIAL 10.
Session II Chapter 2 – Chapter 2 – XSLhttp://
XML Overview. Chapter 8 © 2011 Pearson Education 2 Extensible Markup Language (XML) A text-based markup language (like HTML) A text-based markup language.
CS 157B: Database Management Systems II May 8 Class Meeting Department of Computer Science San Jose State University Spring 2013 Instructor: Ron Mak
Data File Access API : Under the Hood Simon Horwith CTO Etrilogy Ltd.
Sheet 1XML Technology in E-Commerce 2001Lecture 7 XML Technology in E-Commerce Lecture 7 XSL Formatting Objects, Java Data Binding.
XML Transformations Eugenia Fernandez IUPUI. Stylesheet Technologies Browser-based Presentation HTML Cascading Stylesheets Programming-based Transformation.
1 XML Data Management Course Outline and Organisation Werner Nutt.
Advanced Java Session 9 New York University School of Continuing and Professional Studies.
Intro. to XML & XML DB Bun Yue Professor, CS/CIS UHCL.
1 XSLT An Introduction. 2 XSLT XSLT (extensible Stylesheet Language:Transformations) is a language primarily designed for transforming the structure of.
March 28, 2001XSP Session O’Reilly Enterprise Java Conference 1 XSP Session Sue Spielman President/Consulting Engineer President/Consulting Engineer
Date : 3/3/2010 Web Technology Solutions Class: Application Syndication: Parse and Publish RSS & XML Data.
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
XML Databases by Sebastian Graf Hier beginnt mein toller Vortrag.
Chapter 27 The World Wide Web and XML. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.27-2 Topics in this Chapter The Web and the Internet.
SAX2 and DOM2 Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
XML eXtensible Markup Language. XML A method of defining a format for exchanging documents and data. –Allows one to define a dialect of XML –A library.
Dom and XSLT Dom – document object model DOM – collection of nodes in a tree.
Unit 3 — Advanced Internet Technologies Lesson 11 — Introduction to XSL.
1 Introduction JAXP. Objectives  XML Parser  Parsing and Parsers  JAXP interfaces  Workshops 2.
Python Documentation Projects Developers Day 8th International Python Conference 27 January 2000.
©Silberschatz, Korth and Sudarshan10.1Database System Concepts W3C - The World Wide Web Consortium W3C - The World Wide Web Consortium.
Martin Kruliš by Martin Kruliš (v1.1)1.
D Copyright © 2004, Oracle. All rights reserved. Using Oracle XML Developer’s Kit.
Lecture Transforming Data: Using Apache Xalan to apply XSLT transformations Marc Dumontier Blueprint Initiative Samuel Lunenfeld Research Institute.
XML 1. Chapter 8 © 2013 Pearson Education, Inc. Publishing as Prentice Hall SAMPLE XML SCHEMA (XSD) 2 Schema is a record definition, analogous to the.
I Copyright © 2004, Oracle. All rights reserved. Introduction.
Unit 4 Representing Web Data: XML
XML Parsers.
Querying and Transforming XML Data
Java XML IS
Open Source distributed document DB for an enterprise
XML in Web Technologies
Chapter 1 HTML, XHTML, and the World Wide Web
Database Processing with XML
Chapter 7 Representing Web Data: XML
Querying XML XQuery.
Chapter 1 HTML, XHTML, and the World Wide Web
Querying XML XQuery.
More Sample XML By Sadia Anjum.
Querying XML XPath.
Querying XML XPath.
Ivan Kurtev, Klaas van den Berg Software Engineering Group
Querying XML XSLT.
XML and its applications: 4. Processing XML using PHP
XML Parsers.
XML Programming in Java
Presentation transcript:

Slice & dice the Web with XmlPL, The XML Processing Language A presentation for Boise Code Camp 2007 Joseph Coffland Cauldron Development LLC

Presentation Overview ● Why XmlPL? ● Basic XmlPL Programming ● XmlPL for the Web ● Other Applications

Why XmlPL? ● What is already out there? ● What problems exist? ● How does XmlPL solve these problems?

Current approaches to XML Processing ➲ APIs ● DOM ● SAX ➲ Languages ● XSLT ● XQuery ● XPath

XML APIs ➲ SAX – Simple API for XML ● Event driven interface ● Parser delivers events to a callback interface ➲ DOM – Document Object Model ● XML tree object tree ● XML is traversed via object methods

SAX ➲ Pros ● Very fast ● Low memory usage ● Available with most XML APIs ● Works well with large XML files ➲ Cons ● More difficult to use than other techniques ● Input only ● No random access

DOM ➲ Pros ● Easier than SAX ● Supported by nearly every XML API ● Allows random access ● Supports both input and output ➲ Cons ● Very high memory usage ● Slow. ● Requires a lot of typing

XML Languages ➲ XSLT ● Extensible Stylesheet Language transformations ● Template processor ● Predecessor of DSSSL ➲ XQuery ● XML Query Language ● semantically similar to SQL ● FLWOR: FOR, LET, WHERE, ORDER BY RETURN ➲ XPath ● XML Path Language

XSLT Pros & Cons ➲ Pros ● Fairly well supported ● Good at template processing ● Currently the best widely available option for translation ➲ Cons ● Verbose ● Somewhat limited to document translation ● Not tree update facility ● Not very fast

XQuery Pros & Cons ➲ Pros ● Less verbose than XSLT ● Perfect for XML databases ➲ Cons ● Mostly limited to querying XML as a database ● No update facility ● Few actual implementations

XPath Pros & Cons ➲ Pros ● Simple syntax ● Powerful ➲ Cons ● Limited to queries ● No programmatic control ● Interpreted

Enter XmlPL

XmlPL Features ➲ Familiar syntax: C + XPath + XML ➲ General purpose XML processing ➲ Efficient internal DOM structure ➲ Gives programmer control over memory ➲ Compiled for speed

Show me the code!

Basic XmlPL Programming Hello World! string[] main() { “Hello World!\n”; } or node[] main() { }

Web Apps with CGI node[] main() { string helloString = "Hello World!"; "Content-type: text/html\n\n"; helloString; helloString; }

RSS example import xmlpl.stdio; node[] main() { string url = “ element firstItem = open(url)/RDF/item[0]; firstItem/title/text(); “\n”; firstItem/description/node(); }

Reuters RSS Feeds Example Code: Application:

Other applications XML is not just for the Web And neither is XmlPL

Possible uses of XmlPL ➲ Transformation ➲ Augmentation ➲ Interpretation ➲ Generation ➲ Extraction ➲ Interface ➲ Integration

Real world Application: SESAME ➲ Simulation of Embedded Systems Architectures for Multi- level Exploration ● Simulation system ● Hardware/Software co-simulation and exploration

Thank You! Joseph Coffland Cauldron Development LLC Available for Software Contracting and Consulting Website: