1 XML: Advanced Guide Holly A. Hyland, FSA Andrew Smalera, XML Framework Session 14.

Slides:



Advertisements
Similar presentations
Open Office.Org What is the Open Office.org Source Project? Open source project through which Sun Microsystems is releasing the technology for the popular.
Advertisements

XML: Extensible Markup Language
XML: Advanced Concepts and Long Term Vision Tim Bornholtz Holly Hyland Technical Track Session.
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 13-1 COS 346 Day 25.
Java API for XML Processing (JAXP) CSE 4/586: Distributed Systems Department of Computer Science and Engineering University at Buffalo, New York Jia Zhao.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 13-1 COS 236 Day 24.
XML Introduction What is XML –XML is the eXtensible Markup Language –Became a W3C Recommendation in 1998 –Tag-based syntax, like HTML –You get to make.
CS 898N – Advanced World Wide Web Technologies Lecture 22: Applying XML Chin-Chih Chang
XML Technologies and Applications Rajshekhar Sunderraman Department of Computer Science Georgia State University Atlanta, GA 30302
XML: A Beginners Guide Holly A. Hyland, FSA Andrew Smalera, XML Framework Session 13.
Technical Track Session XML Techie Tools Tim Bornholt.
PHP and XML TP2653 Advance Web Programming. PHP and XML PHP5 – XML-based extensions, library and functionalities (current XAMPP PHP version is )
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
XP New Perspectives on XML Tutorial 4 1 XML Schema Tutorial – Carey ISBN Working with Namespaces and Schemas.
XML Anisha K J Jerrin Thomas. Outline  Introduction  Structure of an XML Page  Well-formed & Valid XML Documents  DTD – Elements, Attributes, Entities.
XML eXtensible Markup Language by Darrell Payne. Experience Logicon / Sterling Federal C, C++, JavaScript/Jscript, Shell Script, Perl XML Training XML.
1 XML at a neighborhood university near you Innovation 2005 September 16, 2005 Kwok-Bun Yue University of Houston-Clear Lake.
XML and its applications: 4. Processing XML using PHP.
ColdFusion’s XML Capabilities Maryland CFUG April 12, 2005 Presented by Doug Ward.
School of Computing and Management Sciences © Sheffield Hallam University To understand the Oracle XML notes you need to have an understanding of all these.
XML eXtensible Markup Language w3c standard Why? Store and transport data Easy data exchange Create more languages WSDL (Web Service Description Language)
An Introduction to XML Presented by Scott Nemec at the UniForum Chicago meeting on 7/25/2006.
XML Overview. Chapter 8 © 2011 Pearson Education 2 Extensible Markup Language (XML) A text-based markup language (like HTML) A text-based markup language.
SAX Parsing Presented by Clifford Lemoine CSC 436 Compiler Design.
Advanced Java Session 9 New York University School of Continuing and Professional Studies.
 XML is designed to describe data and to focus on what data is. HTML is designed to display data and to focus on how data looks.  XML is created to structure,
Intro. to XML & XML DB Bun Yue Professor, CS/CIS UHCL.
Session IV Chapter 9 – XML Schemas
XML Parsers Overview  Types of parsers  Using XML parsers  SAX  DOM  DOM versus SAX  Products  Conclusion.
Intro to XML Originally Presented by Clifford Lemoine Modified by Box.
XML and Web Services CS409 Application Services Even Semester 2007.
XML 101 Holly Hyland Session Objectives –XML Basics –Building Standards History Current State Future Vision.
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
TUTORIAL Dolphy A. Fernandes Computer Science & Engg. IIT Bombay.
McGraw-Hill/Irwin © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Scripting with the DOM Ellen Pearlman Eileen Mullin Programming the Web.
New Perspectives on XML, 2nd Edition
Introduction to XML This presentation covers introductory features of XML. What XML is and what it is not? What does it do? Put different related technologies.
XML 2nd EDITION Tutorial 4 Working With Schemas. XP Schemas A schema is an XML document that defines the content and structure of one or more XML documents.
1 Tutorial 14 Validating Documents with Schemas Exploring the XML Schema Vocabulary.
Tutorial 13 Validating Documents with Schemas
XML and Its Applications Ben Y. Zhao, CS294-7 Spring 1999.
XML Study-Session: Part III
CS 157B: Database Management Systems II February 11 Class Meeting Department of Computer Science San Jose State University Spring 2013 Instructor: Ron.
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.
XML and SAX (A quick overview) ● What is XML? ● What are SAX and DOM? ● Using SAX.
COSC617 Project XML Tools Mark Liu Sanjay Srivastava Junping Zhang.
User Profiling using Semantic Web Group members: Ashwin Somaiah Asha Stephen Charlie Sudharshan Reddy.
COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 4 1COMP9321, 15s2, Week.
XML A Language Presentation. Outline 1. Introduction 2. XML 2.1 Background 2.2 Structure 2.3 Advantages 3. Related Technologies 3.1 DTD 3.2 Schemas and.
Dom and XSLT Dom – document object model DOM – collection of nodes in a tree.
When we create.rtf document apart from saving the actual info the tool saves additional info like start of a paragraph, bold, size of the font.. Etc. This.
What is XML? eXtensible Markup Language eXtensible Markup Language A subset of SGML (Standard Generalized Markup Language) A subset of SGML (Standard Generalized.
1 Introduction JAXP. Objectives  XML Parser  Parsing and Parsers  JAXP interfaces  Workshops 2.
Martin Kruliš by Martin Kruliš (v1.1)1.
Lecture 15 Extensible Stylesheet Language Transformations : XSLT.
C Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Introduction to XML Standards.
 XML derives its strength from a variety of supporting technologies.  Structure and data types: When using XML to exchange data among clients, partners,
XML Notes taken from w3schools. What is XML? XML stands for EXtensible Markup Language. XML was designed to store and transport data. XML was designed.
XML and Distributed Applications By Quddus Chong Presentation for CS551 – Fall 2001.
I Copyright © 2004, Oracle. All rights reserved. Introduction.
1 XML and XML in DLESE Katy Ginger November 2003.
Slice & dice the Web with XmlPL, The XML Processing Language A presentation for Boise Code Camp 2007 Joseph Coffland Cauldron Development LLC.
XML Parsers Overview Types of parsers Using XML parsers SAX DOM
XML in Web Technologies
Data Modeling II XML Schema & JAXB Marc Dumontier May 4, 2004
Database Processing with XML
XML Parsers Overview Types of parsers Using XML parsers SAX DOM
XML and its applications: 4. Processing XML using PHP
XML Programming in Java
Presentation transcript:

1 XML: Advanced Guide Holly A. Hyland, FSA Andrew Smalera, XML Framework Session 14

2 Agenda  Objectives  What is the XML Framework at FSA?  XML Usage at FSA  XML Usage in the Community  XML Schema Design Best Practices  XML Supporting Technologies –XML Development Tools –XML Parsers –XSLT, XQuery, XLink, and XPath  References  Questions

3 Objectives  Provide an overview of the FSA XML Framework.  Provide an update on XML Usage at FSA and within the Community  Present XML Schema Design Patterns.  Present information on XML supporting technologies including: –Development Tools –XML Parsers –XSLT, XQuery, XPath, and XLink  Provide a list of references for additional research.

4 What is the FSA XML Framework? This session provides an overview of the current status of XML usage within the Financial Aid Community and some advanced topics relevant to implementing and taking advantage of some XML’s benefits.

5 XML Usage at FSA  Expanded use of XML by FSA –More schools and software vendors are moving to being COD Full Participants. –EdExpress is incorporating XML support. –The CPS ISIR will be implemented as an XML Schema for the Award Year.

6 XML Usage in the Community  Expanded use of XML by the Financial Aid Community –The Common Record: CommonLine XML Schema has been drafted and is in the process of being implemented. –The Postsecondary Academic Transcript has been drafted as an XML Schema. –METEOR and ELM are using and providing support for XML.

7 XML Schema Design Best Practices  Overview  Russian Doll Design  Salami Slice Design  Venetian Blind Design

8 XML Schema Design Best Practices: Overview  While FSA and the Financial Aid Community have developed a number of XML Schemas that are in use today, individual schools and vendors may find a use for developing their own schemas for internal data exchange and processing.  XML Schema Design Best Practices provides information on the three design patterns commonly used to create XML Schemas.  Each design pattern has its own pros and cons and may be used depending on the situation.  An understanding of these different design patterns will be helpful for schools and vendors to provide feedback on future Schema development efforts by FSA and the Community.

9 XML Schema Design Best Practices: Russian Doll Design  The Russian Doll Design defines objects in local scope.  Elements created using this methodology will have Schemas that are very similar to the instance documents. –Limits the reusability of Schema designs.  Facilitates hiding namespaces. –Can prevent namespace issues like name collisions.

10 Example Russian Doll Design Schema Snippet

11 XML Schema Design Best Practices: Salami Slice Design  The Salami Slice Design defines all objects in the global scope.  Elements created using this methodology make object reuse very easy.  Mapping between the Schema and an instance document will not be as straight forward. –It should be noted that this limitation does not carry over to automated validation of instance documents against Schemas.  Allows the reuse of elements so that Schema designers must be cognizant of possible namespace issues like name collisions.

12 Example Salami Slice Design Schema Snippet

13 XML Schema Design Best Practices: Venetian Blind Design  The Venetian Blind Design leverages the design advantages of both the Russian Doll and Salami Slice Designs.  Facilitates reuse while also hiding namespace complexities (by creating type definitions).  Instead of actually creating elements and referencing them, a Schema designer would create a type, and reference that when creating their elements.

14 Example Venetian Blind Design Schema Snippet

15 XML Supporting Technologies  Development Tools  XML Java Parsers  XSLT  XQuery  XPath  XLink

16 XML Supporting Technologies: Development Tools  There are many categories of tools and many different tools available to support XML development. The following are representative Integrated Development Environment (IDE) tools:  Sonic Stylus Studio provides support for authoring XQuery, XSLT stylesheets, XML schema, and related XML documents.  Altova XMLSpy is an XML Development Environment that can be used for designing, editing, and implementing XML. It provides a graphical view of schemas and instance documents. In addition, XMLSpy provides an integrated XML instance document validator.  Tibco TurboXML is an IDE for developing and managing XML assets. It provides support for creating, validating, converting, and managing XML schemas, XML files, and DTDs.

17 XML Supporting Technologies: XML Java Parsers  Parsers allow you to read in XML documents. Provide access to information stored in XML documents.  There are three general categories of parsers: –All-in-Memory Parsers – load the entire XML document into memory and provide a tree-like view of the document. As a result, the entire document must be processed before you can access any piece of the document at all. –Push Parsers – hide the interaction with the actual document and “push” the tokens to user through callback methods. Reads the XML stream, and when it encounters an element (or entity, etc.), it generates an event. It is up to the application to handle those events, usually via a callback or an event handler class. SAX DOM –Pull Parsers – the application developer is responsible for the parsing loop, pulling elements (or entities, etc.) out of the XML stream explicitly.  Currently, the two most widespread parsers are DOM and SAX.

18 XML Java Parsers: Document Object Model (DOM)  The Document Object Model (DOM) API is associated with all-in-memory parsers.  DOM is more than just a parsing technology; it is a generic document object model.  DOM can read in an XML stream, can optionally validate it against a schema or DTD, and when it’s done parsing, it provides a tree view of the document.  DOM provides access to the information stored in an XML document as a hierarchical object model. DOM creates a tree of nodes (based on the structure and information in the XML document) and provide access to the information by interacting with the tree of nodes.  In DOM, each element corresponds to a node in the tree. Using DOM, developers can manipulate the document in any number of ways, including addition, modification, and removal of nodes and text content.  A DOM instance can also be serialized to an XML stream.  There is a great deal of overhead to using DOM, and for very large documents that can be a big problem. For each element, there must be a corresponding node instance in memory, as well as a collection to hold any attributes that the node may contain. DOM stores everything, including attribute values, as a string. Thus, if you have Boolean or numerical attributes, DOM wastes space storing them as strings.  DOM will usually be outperformed by a streaming parser, because most DOM implementations are now built on top of a streaming parser.  The last major performance issues it the overhead of creating and maintaining the tree structure that makes DOM so useful in the first place.

19 XML Java Parsers: Simple API for XML (SAX)  Simple API for XML (SAX) Parser  The SAX API is associated with push parsers.  SAX allows users to define a set of handler objects through which it notifies you when interesting events occur during the sequential parsing of a document.  Since it is forward-only, SAX is not particularly resource intensive.  Since SAX basically just reads XML content from a stream and then passes that content on to the application through the event handler interfaces, SAX implementations generally have very little overhead, which in turn usually leads to good parsing performance.  If it is not implemented properly, the event-handling code for dealing with complex or deeply nested documents can become very convoluted and difficult to read and maintain.  SAX doesn’t define an object model of its own. Therefore, in most cases the developer will have to define their own data structures to store the data.  Once the SAX implementation has commenced the parsing process, the only way to terminate the process is to throw an exception, which is less than ideal.

20 XML Supporting Technologies: XSLT  XSLT provides developers with a higher-level language to access and transform XML streams. There are two methods for implementing XSLT: –Push – The stylesheet provides rules for mapping input streams to target streams. Rules are set up for each element that will be encountered and “Pushed” through the transformation. –Pull – The stylesheet provides rules for how elements are pulled out of a source stream, put into the target stream.

21 XML Supporting Technologies: XQuery  XQuery enables users to query and extract data from an XML document. It is an extension of XPath, but has manipulation capabilities rather than being just a lookup.  XML is increasingly being used to model and store structured, semi-structured and relational data, and XQuery provides a powerful mechanism to access and manipulate the data stored in XML documents.  For additional information refer to:

22 XML Supporting Technologies: XPath  XPath is a non-XML language used to identify parts of XML documents. It does this by viewing the hierarchical structure of an XML document as a tree of nodes and returns results based on the position of a node, its type or content.  XSLT and XPointer use XPath.  For additional information refer to:

23 XML Supporting Technologies: XLink  XLink allows elements to be inserted into XML documents in order to create and describe links between resources.  There are two types of links – simple and extended. –Simple links are identical to HTML links enabling the linking to other HTML and XML documents. –Extending links allow two-way linking between a group of documents and menu capabilities.  For additional information refer to:

24 XML References Additional information on XML can be found in the following references:      XML Journal 

25 Questions? We appreciate your feedback and comments. We can be reached at: Name: Holly A. Hyland Phone: Name: Andrew Smalera Phone: