INNOV-12: Transforming Non ‑ XML Documents with XML Tools Tony Lavinio Principal Software Architect, Stylus Studio.

Slides:



Advertisements
Similar presentations
Chungnam National University DataBase System Lab
Advertisements

Integrated Platform version 5.2
Overview Environment for Internet database connectivity
XML: Extensible Markup Language
1 XML Web Services Practical Implementations Bob Steemson Product Architect iSOFT plc.
1 Integration Made Easy Agile Integration: Connecting Salesforce With Your Enterprise.
General introduction to Web services and an implementation example
An Introduction to XML Based on the W3C XML Recommendations.
XSL XSLT and XPath 11-Apr-17.
DEV-2: Getting Started with OpenEdge® Architect – Part I
WTX Overview.
Scale Up Access to your 4GL Application using Web Services
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.
SDPL 2003Notes 3: XML Processor Interfaces1 3.3 JAXP: Java API for XML Processing n How can applications use XML processors? –A Java-based answer: through.
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of The Eclipse Web Tools Platform.
XML Prashant Karmarkar Brendan Nolan Alexander Roda.
Implementation of One Stop Search by XSLT By Dave Low University of Hong Kong 9-Dec-2003.
SQL Reporting Services Overview SSRS includes all the development and management pieces necessary to publish end user reports in  HTML  PDF 
Streams – DataStage Integration InfoSphere Streams Version 3.0
DSpace XML UI Project Texas A&M University Digital Initiatives, Research and Technology Scott Phillips, Cody Green, Alexey Maslov, Adam Mikeal, Brian Surratt,
XML Fundementals XML vs.. HTML XML vs.. HTML XML Document (elements vs. attributes) XML Document (elements vs. attributes) XML and RDBMS XML and RDBMS.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
SOA-12: Integrate over the Web with OpenEdge® Web Services
SSC2: Web Services. Web Services Web Services offer interoperability using the web Web Services provide information on the operations they can perform.
1 XML at a neighborhood university near you Innovation 2005 September 16, 2005 Kwok-Bun Yue University of Houston-Clear Lake.
DATABASE and XML Moussa Mané. Learning Objectives ● Learn about Native XML Databases ● Learn about the conversion technology available ● Understand New.
Introduction to XSLT By Ed Rosenthal And Dave Pion.
Another PillowTalk Presentation  2004 Dynamic Systems, Inc. Introduction to XML for SOA Lee H. Burstein,
Session II Chapter 2 – Chapter 2 – XSLhttp://
COMP-14: Automating your deployments using ANT Gary S Clink Business Consultant.
Copyright © Orbeon, Inc. All rights reserved. Erik Bruchez Applications of XML Pipelines XML Prague, June 16 th, 2007.
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
Intro. to XML & XML DB Bun Yue Professor, CS/CIS UHCL.
JSTL, XML and XSLT An introduction to JSP Standard Tag Library and XML/XSLT transformation for Web layout.
Presentation Topic: XML and ASP Presented by Yanzhi Zhang.
Copyright © PASS Consulting Corp., Miami 2001 XX/1 XML Application Server.
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
DEV-05: Ratcheting up your OpenEdge™ Development Productivity Sunil S Belgaonkar Principal Software Engineer.
Automatic Report Generation for WLCG/EGEE D. D. Sonvane (Gridview Team) B.A.R.C.
INT-5: Integrate over the Web with OpenEdge® Web Services
IBM Software Group ® Context-Sensitive Help with the DITA Open Toolkit Jeff Antley IBM October 4, 2007.
Mike Jackson EPCC OGSA-DAI Architecture + Extensibility OGSA-DAI Tutorial GGF17, Tokyo.
XML and Database.
XML Presented by Kushan Athukorala. 2 Agenda XML Overview Entity References Elements vs. Atributes XML Validation DTD XML Schema Linking XML and CSS XSLT.
INT-9: Implementing ESB Processes with OpenEdge ® and Sonic ™ David Cleary Principal Software Engineer.
© 2006 Altova GmbH. All Rights Reserved. Altova ® Product Line Overview.
COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 4 1COMP9321, 15s2, Week.
Dom and XSLT Dom – document object model DOM – collection of nodes in a tree.
1 Introduction JAXP. Objectives  XML Parser  Parsing and Parsers  JAXP interfaces  Workshops 2.
INT-2: XQuery Levels the Data Integration Playing Field Carlo (Minollo) Innocenti DataDirect XML Technologies, Program Manager.
CS562 Advanced Java and Internet Application Introduction to the Computer Warehouse Web Application. Java Server Pages (JSP) Technology. By Team Alpha.
Connectivity Solutions from DataDirect™ John Goodson Vice President, DataDirect, R&D.
Reviews Crawler (Detection, Extraction & Analysis) FOSS Practicum By: Syed Ahmed & Rakhi Gupta April 28, 2010.
Martin Kruliš by Martin Kruliš (v1.1)1.
©2001 Priority Technologies, Inc. All Rights Reserved Meteor Status Miami Face to Face Meeting January 16 – 18, 2002.
Oracle XML Publisher Enterprise Reporting and Delivery Salim Odero Principal Sales Consultant, E-Business Suite Technology Oracle Corporation.
.. Altova Visual Studio Industry Partner Altova NEXT STEPS Contact us at: Altova® is a software company specializing in tools that.
JAFER Toolkit Project Oxford University 1 JAFER Java-based high level Z39.50 toolkit Matthew Dovey; Colin Tatham; Antony Corfield; Richard Mawby Oxford.
Apache Cocoon – XML Publishing Framework 데이터베이스 연구실 박사 1 학기 이 세영.
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.
//liveVirtualacademy2011/ What’s New for ASP.NET 4.5 and Web Development in Visual Studio 11 Developer Preview Γιώργος Καπνιάς MVP, MCT, MCDP, MCDBA, MCTS,
I Copyright © 2004, Oracle. All rights reserved. Introduction.
Simple API for XML
Product Training Program
Jon Fancey Enterprise Integration with Logic Apps
Visual Studio Tools for Office 2005
XML in Web Technologies
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Presentation transcript:

INNOV-12: Transforming Non ‑ XML Documents with XML Tools Tony Lavinio Principal Software Architect, Stylus Studio

2© 2005 Progress Software Corporation INNOV-12 Transforming Non-XML Documents with XML Tools Let’s use Stylus Studio! n eWEEK 5 th Annual Excellence Awards Finalist n Integrated with: –Saxon and 8.4 from Saxonica –Xalan-J from the Apache Xerces project –MSXML 3 and 4 –System.XML XSLT from.Net –Sleepycat Berkeley DB XML –Mark Logic XDMS It’s what all the cool people are using

3© 2005 Progress Software Corporation INNOV-12 Transforming Non-XML Documents with XML Tools Build on Standards n XSLT 1.0 and 2.0 n XQuery n XPath 1.0 and 2.0 n DTD n W3C XML Schema n SQL/XML n JDBC and ODBC n SOAP, WSDL, UDDI n OASIS Catalogs n Java™ n JSP n JAXP (formerly TrAX) n JAXB n HTTP[S] n FTP n [X]HTML n EDIFACT/CEFACT n X12 Everything-but-the-kitchen sink

4© 2005 Progress Software Corporation INNOV-12 Transforming Non-XML Documents with XML Tools XML or Not XML, Who Cares? n XQuery and XSLT only act on XML –CSV, EDI, etc. are not XML –What can we do? n Batch convert? — No! n On-the-fly conversions –Convert-to-XML feature –Native adapters Stylus Studio can treat non-XML data as XML

5© 2005 Progress Software Corporation INNOV-12 Transforming Non-XML Documents with XML Tools Agenda n Convert-to-XML feature n The Architecture n XQuery and XSLT on non-XML n Deploying n Running

6© 2005 Progress Software Corporation INNOV-12 Transforming Non-XML Documents with XML Tools Convert-to-XML User Interface Maps flat input data to XML output data Properties Pane XML Output Preview Input Canvas Schema Pane

7© 2005 Progress Software Corporation INNOV-12 Transforming Non-XML Documents with XML Tools Convert-to-XML Features n Maps text or binary formats –CSV, TSV, EDI — even xBase n Gobs of encodings n Fixed or variable-length fields n Variety of data types supported n Regular expression matching n Streaming engine supports large input files

8© 2005 Progress Software Corporation INNOV-12 Transforming Non-XML Documents with XML Tools Demonstration of Convert-to-XML UI n Let’s build a CSV converter! n Let’s build an EDI converter! (Sample of X12 EDI data)

9© 2005 Progress Software Corporation INNOV-12 Transforming Non-XML Documents with XML Tools Agenda n Convert-to-XML feature n The Architecture n XQuery and XSLT on non-XML n Deploying n Running

10© 2005 Progress Software Corporation INNOV-12 Transforming Non-XML Documents with XML Tools Extensible File System Support n Traditional file systems –file:, ftp: and http[s]: (WebDAV) schemes n Web Service Call Composer –wscc: scheme n SQL/XML for Relational Databases –db: scheme n Sleepycat Berkeley DB XML –dbxml: scheme Lets us treat any type of resource as a URI

11© 2005 Progress Software Corporation INNOV-12 Transforming Non-XML Documents with XML Tools The Adapter URL Syntax Two forms: n Convert-to-XML: adapter:map.conv?url n Native XML Adapters: adapter:name:[option=value:…]?url

12© 2005 Progress Software Corporation INNOV-12 Transforming Non-XML Documents with XML Tools Implementation n Convert-to-XML has two parts –User interface –Runtime engine n The runtime engine is just one of many native converters that can be plugged into the Adapter File System. n Designed as a streaming engine for low footprint What’s under the hood

13© 2005 Progress Software Corporation INNOV-12 Transforming Non-XML Documents with XML Tools Adapter File System It plugs in – and supports its own plug-ins Stylus Studio file: http: and https: (WebDAV) db: custom file system driver java: user: adapter: CtoXMLCSVdBase.d *.txt *.csv *.html *.xslt *.??? *.d

14© 2005 Progress Software Corporation INNOV-12 Transforming Non-XML Documents with XML Tools Agenda n Convert-to-XML feature n The Architecture n XQuery and XSLT on non-XML n Deploying n Running

15© 2005 Progress Software Corporation INNOV-12 Transforming Non-XML Documents with XML Tools A Simple Confluence of Ideas +If we combine the idea that adapters convert non-XML to XML, +With the idea that adapters can be addressed with URLs, + With the idea that XQuery and XSLT work on URL-addressable XML, = We have an integration tool > 3

16© 2005 Progress Software Corporation INNOV-12 Transforming Non-XML Documents with XML Tools Design XSLT or XQuery n Build an XSLT transformation n Input is EDI n Desired output is CSV Take the non-XML and manipulate it as XML

17© 2005 Progress Software Corporation INNOV-12 Transforming Non-XML Documents with XML Tools Agenda n Convert-to-XML feature n The Architecture n XQuery and XSLT on non-XML n Deploying n Running

18© 2005 Progress Software Corporation INNOV-12 Transforming Non-XML Documents with XML Tools Assembling the Building Blocks Here’s what we’ve done: 1.Used the Convert-to-XML map we built earlier for input 2.Used a CSV file via adapter as the target 3.Built XSLT from and to representative non-XML documents And here’s what we’re about to do: 1.Build a Java program to call XSLT 2.Call the Java program from the 4GL

19© 2005 Progress Software Corporation INNOV-12 Transforming Non-XML Documents with XML Tools The Runtime n We use Saxon or 8.4, or Xalan-J as the XSLT engine, or Saxon 8.4 as the XQuery engine n The Stylus Studio runtime adds the missing pieces, such as our URL resolver and adapter libraries n We’ll even generate the code for you

20© 2005 Progress Software Corporation INNOV-12 Transforming Non-XML Documents with XML Tools Calling Our Transform // This is the “before” version… String xslURL = "file:///c:/temp/EXCHANGE.xsl"; String xmlURL = "file:///c:/temp/EXCHANGE.xml"; Source xsl = new StreamSource(new URL(xslURL).openStream(), xslURL); Source xml = new StreamSource(new URL(xmlURL).openStream(), xmlURL); Result out = new StreamResult(System.out); TransformerFactory factory = TransformerFactory.newInstance(); Transformer t = factory.newTransformer(xsl); t.transform(xml, out); This is just plain standard JAXP code

21© 2005 Progress Software Corporation INNOV-12 Transforming Non-XML Documents with XML Tools Same, But with Stylus URL Resolver System.setProperty(STYLUS_ROOTDIR, "."); System.setProperty(STYLUS_APPDATA, "."); String xslURL = "file:///c:/temp/EXCHANGE.xsl"; String xmlURL = "adapter:EXCHANGE.conv?file:///c:/temp/EXCHANGE.edi"; Source xsl = StylusFileFactory.getFactory().resolve(xslURL, null); Source xml = StylusFileFactory.getFactory().resolve(xmlURL, null); Result out = new StreamResult(System.out); TransformerFactory factory = TransformerFactory.newInstance(); Transformer t = factory.newTransformer(xsl); t.transform(xml, out); Add two property settings, and use the new factory

22© 2005 Progress Software Corporation INNOV-12 Transforming Non-XML Documents with XML Tools URI Resolvers are for Writing Too Since adapters can go either way or go both ways, so can the URI resolver. Non-XML to XMLBoth WaysXML to Non-XML

23© 2005 Progress Software Corporation INNOV-12 Transforming Non-XML Documents with XML Tools Agenda n Convert-to-XML feature n The Architecture n XQuery and XSLT on non-XML n Deploying n Running

24© 2005 Progress Software Corporation INNOV-12 Transforming Non-XML Documents with XML Tools Finishing up… n Compile the.java n Move things into the proper locations n Set up the 4GL n Go for it!

25© 2005 Progress Software Corporation INNOV-12 Transforming Non-XML Documents with XML Tools EDI  XML  XSLT  CSV  4GL + = Let’s See It All Work Together

26© 2005 Progress Software Corporation INNOV-12 Transforming Non-XML Documents with XML Tools Resources n Stylus Studio Web Site n Stylus Scoop Newsletter n The W3C XSLT and XPath Standards n The W3C XQuery Standard

27© 2005 Progress Software Corporation INNOV-12 Transforming Non-XML Documents with XML Tools In Summary n Stylus Studio lets you treat non-XML data sources as XML n Nothing beats XSLT/XQuery for transforming XML n The XSLT/XQuery Mappers make standards-based integration simpler

28© 2005 Progress Software Corporation INNOV-12 Transforming Non-XML Documents with XML Tools Questions?

29© 2005 Progress Software Corporation INNOV-12 Transforming Non-XML Documents with XML Tools Thank you for your time!

30© 2005 Progress Software Corporation INNOV-12 Transforming Non-XML Documents with XML Tools