Session 3: XML Information Rendering

Total Page:16

File Type:pdf, Size:1020Kb

Session 3: XML Information Rendering Extreme Java G22.3033-007 Session 3 - Sub-Topic 5 XML Information Rendering Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences 1 Agenda Q Extensible Stylesheet Language Transformation (XSL-T) Q Extensible Stylesheet Language Formatting Object (XSL-FO) Q XML and Document/Content Management Q XML/XSL and JSP/JavaBeans Rendering Technology Q Internationalization Issues Q Web Content Accessibility Guidelines (WCAG) 2 1 XML-Based Rendering Development Q XML Software Development Methodology Q Language + Stepwise Process + Tools Q Rational Unified Process (RUP) v.s. “XML Unified Process” Q XML Application Development Infrastructure Q Metadata Management (e.g., XMI) Q XSLT, XPath XSL-FO APIs (JAXP, JAXB, JDOM, SAX, DOM) Q XML Tools (e.g., XML Editors, Apache’s FOP, Antenna House’s XSL Formatter, HTML/CSS1/2/3, XHTML, XForms, WCAG Q XML Applications Involved in the Rendering Phase: Q Application(s) of XML Q XML-based applications/services (markup language mediators) Q MOM, POP, Other Services (e.g., persistence) 3 Q Application Infrastructure Frameworks XML Data Rendering Patterns Q Manipulating and Rendering XML Structures Using Java Q XSL-T Q Transform Q Sort Q Output Q XSL-T + -FO Q Format Q Output Q Querying will be covered separately 4 2 What is XSL? Q XSL is a language for expressing stylesheets. It consists of two parts: Q A language for transforming XML documents Q A XML vocabulary for specifying formatting semantics Q See http://www.w3.org/Style/XSL for the XSLT 1.0/XPath 1.0 Recs, the XSL-FO 1.0 candidate rec, and working drafts of XSLT 1.1/2.0 and XPath 2.0 Q A XSL stylesheet specifies the presentation of a class of XML documents. It describes how an instance of the class is transformed into an XML document that uses the formatting vocabulary 5 eXtensible Style Language (XSL) Q DSSSL & DSSSL-O Q CSS 1, 2, 3 … Q http://www.w3.org/Style/CSS/ Q XSLT Q XPath Q XSL-FO Q XSLT Processors Q Stylus Studio XSL development environment Q IBM XSL Editor Q Saxon and Xalan XSLT processors Q XSL-FO Processors Q Antenna House 6 Q fop 3 XSL Processing Q http://www.w3.org/Style/XSL/ Q Processing Alternatives: Q HTML + CSS -> Presentation Q XML + CSS -> Presentation Q XML + XSLT -> XSL-FO -> Presentation Q XML + XSLT -> XML/HTML + CSS -> Presentation Q Client or Server Processing ? Q See Session 2 handout on IE5’s implementation of the XSL Spec. Q Examples Q See Session 2 Sub-Topic 1 Presentation: Beginning XML Q See Session 2 handouts on XSL Tree Transformation Language Q See Session 2 handout on Cascading Stylesheets 7 Q See Session 2 handout on Styling Documents Using XSL A Language for “Mapping XML” (LMX) Q LMX is a sample textbook application Q LMX can convert a document in one DTD into another DTD and vice versa Q LMX uses rules to describe bi-directional “MOM” conversions between two sets of documents Q Rules have a “from-pattern” and a “to-pattern”b to respectively match the source document, and construct the target document Q Some restrictions exist w.r.t. the LMX patterns in order to simplify the program as much as possible Q LMX can also be used to convert a XML document to HTML (“POP” application) 8 4 How Does the LMX Processor Work? Q LMX makes heavy use of the DOM 1.0 API Q LMX uses XML4J internally to: Q Parse a rule file Q Parse a source document Q Generate a target document Q See chapter 4.3 in the XML and Java textbook for a detailed description of the LMX implementation 9 LMX v.s. the eXtensible Stylesheet Language (XSL) Q LMX and XSL both provide a syntax to encode “Style Sheets” Q Each XML document can be associated with a style sheet that describes how elements should be organized and formatted for presentation Q XSL style sheets provide custom appearances that give a web site a unified look and feel 10 5 How Does XSL Work? Q A XSL style sheet is an XML document Q XSL elements in a XSL style sheet correspond to a series of XSL “transformation” rules (i.e., XML tree transformation and/or formatting rules) Q XSL rules describe how particular XML tags are to be converted to “flow objects” as the document is read 11 Part I Extensible Stylesheet Language Transformation (XSLT) 12 6 XSL Transformations Q Assume root element of style sheet is <xsl> Q Each <xsl> element contains one or more rule elements Q Each rule has a target and an action Q Target is a regular expression defining to which XML elements the rule applies Q Action is the list of flow objects generated when the rule is applied: Q Actions output a series of HTML tags in combination with the content of the element Q Actions may output XML tags obtained via transformation of original XML data Q Actions may output non-markup text, or run simple scripts or programs Q Actions may use JavaScript to provide more complex, and dynamic behaviors 13 XSL Transformations (continued) Q Conceptual Representation of XSL Transformations: <xsl> <rule> <target-element type=“tagname”/> action </rule> <rule> (…) </rule> </xsl> 14 7 XSL-T and Templates Q XSLT rules are also called “Templates” Q There may not be rules to match every element Q Elements can be reordered on the output. Q XSL style sheet must be well-formed Q e.g., a HTML empty tag specified as <br> must be written as <br/> within a XSL style sheet action Q XSLT elements used as a basis for a simple stylesheet are: Q <xsl:stylesheet>, <xsl:template match …>, <xsl:apply- templates>, <xsl:for-each select ...>, and <xsl:sort select …> 15 XSLT Elements and Functions Q Creating Elements and Attributes Q xsl:element, xsl:attribute Q Iteration and Sorting (e.g., xsl:sort) Q Conditional Processing Q xsl:apply-templates select=“ … “, xsl:if, xsl:choose Q Copying Nodes (e.g., xsl:copy) Q Combining Stylesheets Q xsl:import, xsl:include Q Defining Variables & Parameters (e.g., xsl:variable) Q Scripting with XPath functions 16 8 Parsers with XSLT Support Q SAX 2.0 or DOM Level 2 1.0 Support Required Q Apache’s Xalan XSLT parser Q org.apache.xalan.processor/templates/transformer Q org.apache.xpath Q Saxon XSLT parser Q JAXP 1.1 (javax.xml.transform) Q TraXP Q Supported by Xalan 2.0, and Saxon 6.1 Q Sun’s XSLTC Q Converts stylesheet’s to class files (“translets”) 17 Part II Extensible Stylesheet Language Formatting Object (XSL-FO) 18 9 XSL Formatting Q XSL flow objects are markup text Q Markup language output flow objects can be HTML, DSSSL, VRML, etc. Q We will focus on HTML output flow objects (simpler, more widely understood, better supported by current tools, and do not require an extra level of translation) 19 XSL Formatting Characteristics Q XSL formatting is simpler than DSSSL (Document Style Semantics and Specification Language, pronounced “dissal”, ISO std 10179:1996) Q XSL formatting is more powerful than CSS (Cascading Style Sheets) Q XSL’s basic formatting syntax is understandable by anybody acquainted with DSSSL or CSS 20 10 Part III XML and Document/Content Management 21 What is a XSL Processor? Q A XML document and its associated style sheet are combined by an XSL processor to produce a HTML document Q The XSL Processor applies the style sheet to the XML document and outputs static HTML Q The process can be automated with CGI scripts, Java servlets, or ActiveX controls to convert XML to HTML on the fly Q A XSL processor is a standalone program or is part of a larger XML browser 22 11 How Does a XSL Processor Work? Q The XSL processor consults the style sheet to find the rule that matches the element Q The XSL processor takes whatever action is associated to the rule: Q outputs element’s content plus assorted markup Q performs more complicated operations (sorting XML data before outputting it, running a Javascript program on the XML data, adding missing content to XML data, etc.) 23 How Does a XSL Processor Work? (continued) Q XSL processor formats each element upon receipt Q XSL processor may process elements recursively Q XSL processor receives input from XML processor and outputs formatted data based on the nature of the elements it receives Q E.g., XSL processor receives <strong> element Q XSL processor may output same content as bold text Q If processor is an audio renderer, it may pump up the volume a notch...2 24 12 How Does a XSL Processor Work? Q The XSL processor consults the style sheet to find the rule that matches the element Q The XSL processor takes whatever action is associated to the rule: Q outputs element’s content plus assorted markup Q performs more complicated operations (sorting XML data before outputting it, running a Javascript program on the XML data, adding missing content to XML data, etc.) 25 How Does a XSL Processor Work? (continued) Q XSL processor formats each element upon receipt Q XSL processor may process elements recursively Q XSL processor receives input from XML processor and outputs formatted data based on the nature of the elements it receives Q E.g., XSL processor receives <strong> element Q XSL processor may output same content as bold text Q If processor is an audio renderer, it may pump up the volume a notch... 26 13 Mainstream XSL Processors Q See Microsoft’s XML and XSL Samples and Demos at http://msdn.microsoft.com/xml Q See IBM’s LotusXSL, Apache’s xalan, and fop.
Recommended publications
  • Merchandise Planning and Optimization Licensing Information
    Oracle® Retail Merchandise Planning and Optimization Licensing Information July 2009 This document provides licensing information for all the third-party applications used by the following Oracle Retail applications: ■ Oracle Retail Clearance Optimization Engine ■ Oracle Retail Markdown Optimization ■ Oracle Retail Place ■ Oracle Retail Plan ■ Oracle Retail Promote (PPO and PI) Prerequisite Softwares and Licenses Oracle Retail products depend on the installation of certain essential products (with commercial licenses), but the company does not bundle these third-party products within its own installation media. Acquisition of licenses for these products should be handled directly with the vendor. The following products are not distributed along with the Oracle Retail product installation media: ® ■ BEA WebLogic Server (http://www.bea.com) ™ ■ MicroStrategy Desktop (http://www.microstrategy.com) ■ MicroStrategy Intelligence Server™ and Web Universal (http://www.microstrategy.com) ® ■ Oracle Database 10g (http://www.oracle.com) ® ■ Oracle Application Server 10g (http://www.oracle.com) ® ■ Oracle Business Intelligence Suite Enterprise Edition Version 10 (http://www.oracle.com) ■ rsync (http://samba.anu.edu.au/rsync/). See rsync License. 1 Softwares and Licenses Bundled with Oracle Retail Products The following third party products are bundled along with the Oracle Retail product code and Oracle has acquired the necessary licenses to bundle the software along with the Oracle Retail product: ■ addObject.com NLSTree Professional version 2.3
    [Show full text]
  • Coldfusion Server and Performance Management Suite 2018
    ColdFusion Server and Performance Management Suite 2018 Third Party Software Notices and/or Additional Terms and Conditions Date Generated: 2018/09/10 LibJPEG ID: 54 Thomas G. Lane This software is based in part on the work of the Independent JPEG Group. _________________________________________________________________________________________________________ Adobe modified Zlib ID: 823 Jean-loup Gailly and Mark Adler Portions include technology used under license from Jean-loup Gailly and Mark Adler, and are copyrighted. _________________________________________________________________________________________________________ Apache Commons Collections ID: 306 Apache Foundation and Contributors This product includes software licensed under the Apache License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0 _________________________________________________________________________________________________________ Apache Commons Collections ID: 1132 The Apache Software Foundation The Apache Software License, Version 1.1 Copyright (c) 1999-2001, 1999-2003 The Apache Software Foundation. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other
    [Show full text]
  • SPARQL with Xquery-Based Filtering?
    SPARQL with XQuery-based Filtering? Takahiro Komamizu Nagoya University, Japan [email protected] Abstract. Linked Open Data (LOD) has been proliferated over vari- ous domains, however, there are still lots of open data in various format other than RDF, a standard data description framework in LOD. These open data can also be connected to entities in LOD when they are as- sociated with URIs. Document-centric XML data are such open data that are connected with entities in LOD as supplemental documents for these entities, and to convert these XML data into RDF requires various techniques such as information extraction, ontology design and ontology mapping with human prior knowledge. To utilize document-centric XML data linked from entities in LOD, in this paper, a SPARQL-based seam- less access method on RDF and XML data is proposed. In particular, an extension to SPARQL, XQueryFILTER, which enables XQuery as a filter in SPARQL is proposed. For efficient query processing of the combination of SPARQL and XQuery, a database theory-based query optimization is proposed. Real-world scenario-based experiments in this paper showcase that effectiveness of XQueryFILTER and efficiency of the optimization. 1 Introduction Open data movement is a worldwide movement that data are published online with FAIR principle1. Linked Open Data (LOD) [4] started by Sir Tim Berners- Lee is best aligned with this principle. In LOD, factual records are represented by a set of triples consisting of subject, predicate and object in the form of a stan- dardized representation framework, RDF (Resource Description Framework) [5]. Each element in RDF is represented by network-accessible identifier called URI (Uniform Resource Identifier).
    [Show full text]
  • Open Source Software Used in Cisco Unified Web and E-Mail Interaction
    Open Source Used In EIM/WIM 9.0(1) This document contains the licenses and notices for open source software used in this product. With respect to the free/open source software listed in this document, if you have any questions or wish to receive a copy of the source code to which you are entitled under the applicable free/open source license(s) (such as the GNU Lesser/General Public License), please contact us at [email protected]. In your requests please include the following reference number 78EE117C99-32799394 Contents 1.1 Apache Log4J 1.2.15 1.1.1 Available under license 1.2 Ext JS 3.4.0 1.2.1 Available under license 1.3 JBoss Application Server 7.1.2 1.3.1 Available under license 1.4 JForum 2.1.8 1.4.1 Available under license 1.5 XML Parser for Java-Xalan 1.4.1 1.5.1 Available under license 1.6 XML Parser for Java-Xerces 1.4.1 1.6.1 Available under license Open Source Used In EIM/WIM 9.0(1) 1 1.1 Apache Log4J 1.2.15 1.1.1 Available under license : Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
    [Show full text]
  • Presentation of XML Documents
    Presentation of XML Documents Patryk Czarnik Institute of Informatics University of Warsaw XML and Modern Techniques of Content Management – 2012/13 Stylesheets Separation of content and formatting Separating content and formatting According to XML best practices, documents should contain: “pure” content / data markup for structure and meaning (“semantic” or “descriptive” markup) no formatting How to present? “hard-coded” interpretation of known document types, e.g. Libre Office rendering Writer document importing or pasting content into word processor or DTP tool and manual or automatic formatting, e.g. Adobe InDesign approach external style sheets Patryk Czarnik 05 – Presentation XML 2012/13 4 / 1 Idea of stylesheet <person id="102103" position="specialist"><person id="102105" position="assistant"> <first-name>Dawid</first-name> <first-name>Arkadiusz</first-name> <last-name>Paszkiewicz</last-name> <last-name>Gierasimczyk</last-name> <phone type="office">+48223213203</phone> <phone type="office">+48223213213</phone> <phone type="fax">+48223213200</phone> <phone type="mobile">+48501502503</phone> <email>[email protected]</email> <email>[email protected]</email> </person> </person> * font 'Times 10pt' * yellow backgorund * 12pt for name * blue font and border * abbreviation before * italic font for name phone number * typewritter font for email Stylesheets Separation of content and formatting Benefits of content and formatting separation General advantages of descriptive markup better content understanding and easier analysis Ability to present in the same way: the same document after modification another document of the same structure Formatting managed in one place easy to change style of whole class of documents Ability to define many stylesheets for a document class, depending on purpose and expectations: medium (screen / paper / voice) expected number of details (full report / summary) reader preferences (font size, colors, .
    [Show full text]
  • Major Open Source ILS Products
    Chapter 3 Major Open Source ILS Products t least four open source ILS products are available system, called Catalist, which was not compliant with the today: Koha, Evergreen, and OPALS. (see table looming Y2K issue. Rather than purchase a commercial A4). While there may be some additional products, system, HLT contracted with a consulting company named these four have emerged as the most widely implemented Katipo Communications to develop a new Web-based sys- and serve as good examples of the current state of the tem. They named this new system Koha, the Maori word art of the open source ILS. While each of these products for gift or donation, and released it as open source, allow- bears a great deal of similarity in approach, they also dif- ing libraries anywhere to use and help develop and sup- fer in features and functionality and in their appeal to port the software. The HLT libraries began using Koha on different types of libraries This section provides detailed January 1, 2000. information regarding each of these systems. A fairly quiet period followed the initial release of Koha, with a few individuals and libraries picking up on the system. No groundswell of interest resulted right away. The initial version of Koha was quite adequate for History and Background three libraries of HLT that together served a commu- Koha nity of about 30,000 residents with a collection of about 80,000 volumes. At that point, Koha did not have some Koha claims the status of being the first open source of the features considered mandatory for most libraries— November/December 2008 November/December library automation system.
    [Show full text]
  • Open Source Used in Cisco Unity Connection 11.5 SU 1
    Open Source Used In Cisco Unity Connection 11.5 SU 1 Cisco Systems, Inc. www.cisco.com Cisco has more than 200 offices worldwide. Addresses, phone numbers, and fax numbers are listed on the Cisco website at www.cisco.com/go/offices. Text Part Number: 78EE117C99-132949842 Open Source Used In Cisco Unity Connection 11.5 SU 1 1 This document contains licenses and notices for open source software used in this product. With respect to the free/open source software listed in this document, if you have any questions or wish to receive a copy of any source code to which you may be entitled under the applicable free/open source license(s) (such as the GNU Lesser/General Public License), please contact us at [email protected]. In your requests please include the following reference number 78EE117C99-132949842 Contents 1.1 ace 5.3.5 1.1.1 Available under license 1.2 Apache Commons Beanutils 1.6 1.2.1 Notifications 1.2.2 Available under license 1.3 Apache Derby 10.8.1.2 1.3.1 Available under license 1.4 Apache Mina 2.0.0-RC1 1.4.1 Available under license 1.5 Apache Standards Taglibs 1.1.2 1.5.1 Available under license 1.6 Apache STRUTS 1.2.4. 1.6.1 Available under license 1.7 Apache Struts 1.2.9 1.7.1 Available under license 1.8 Apache Xerces 2.6.2. 1.8.1 Notifications 1.8.2 Available under license 1.9 axis2 1.3 1.9.1 Available under license 1.10 axis2/cddl 1.3 1.10.1 Available under license 1.11 axis2/cpl 1.3 1.11.1 Available under license 1.12 BeanUtils(duplicate) 1.6.1 1.12.1 Notifications Open Source Used In Cisco Unity Connection
    [Show full text]
  • SVG Tutorial
    SVG Tutorial David Duce *, Ivan Herman +, Bob Hopgood * * Oxford Brookes University, + World Wide Web Consortium Contents ¡ 1. Introduction n 1.1 Images on the Web n 1.2 Supported Image Formats n 1.3 Images are not Computer Graphics n 1.4 Multimedia is not Computer Graphics ¡ 2. Early Vector Graphics on the Web n 2.1 CGM n 2.2 CGM on the Web n 2.3 WebCGM Profile n 2.4 WebCGM Viewers ¡ 3. SVG: An Introduction n 3.1 Scalable Vector Graphics n 3.2 An XML Application n 3.3 Submissions to W3C n 3.4 SVG: an XML Application n 3.5 Getting Started with SVG ¡ 4. Coordinates and Rendering n 4.1 Rectangles and Text n 4.2 Coordinates n 4.3 Rendering Model n 4.4 Rendering Attributes and Styling Properties n 4.5 Following Examples ¡ 5. SVG Drawing Elements n 5.1 Path and Text n 5.2 Path n 5.3 Text n 5.4 Basic Shapes ¡ 6. Grouping n 6.1 Introduction n 6.2 Coordinate Transformations n 6.3 Clipping ¡ 7. Filling n 7.1 Fill Properties n 7.2 Colour n 7.3 Fill Rule n 7.4 Opacity n 7.5 Colour Gradients ¡ 8. Stroking n 8.1 Stroke Properties n 8.2 Width and Style n 8.3 Line Termination and Joining ¡ 9. Text n 9.1 Rendering Text n 9.2 Font Properties n 9.3 Text Properties -- ii -- ¡ 10. Animation n 10.1 Simple Animation n 10.2 How the Animation takes Place n 10.3 Animation along a Path n 10.4 When the Animation takes Place ¡ 11.
    [Show full text]
  • Candidate Resume
    Flat No-a/303, Dharti Park, Behind Shriniwas , Palghar Thane MH 401501 India P : +91 9321883949 E : [email protected] W : www.hawkcl.com Hawk ID # 33574 IT / System Analyst Residential Country : India Nationality : India Resume Title : System Analyst Notice Period : 1 Days EDUCATION Qualification Institute / College /University Year Country B E / B Tech JNTU 2007 India CAREER SUMMARY From Month/ To Month/ Position Employer Country Year Year System Analyst Reputed Company 07/2010 / Software Verus Solutions 10/2007 07/2010 Developer Private Ltd ADDITIONAL CERTIFICATE AND TECHNICAL QUALIFICATION Name Of The Course Course Date Valid Upto Name Of Organisation Current Salary Expected Salary (Monthly In USD): Not Mention (Monthly In USD): Not Mention Additional Skills : Professional Summary • Eight years of experience in design, development, deployment and maintenance of enterprise web applications in ERP, Utility and Marketing domains. • Expertise in Client/ Server and application development using Java, J2ee technologies. • Experienced in leading and mentoring teams with 3-5 members. • Strong knowledge on Object Oriented Programming. • Expertise in web application development using frameworks like Struts , Spring and Hibernate. • Excellent Knowledge of MVC Architecture. • Have worked on application servers like Jboss and Tomcat. • Have worked on build and deploy tools like Ant and Maven. • Have worked on continuous integration tools like Hudson (aka Jenkins). • Have worked on consuming the SOAP web services using Apache Axis API. • Good understanding of Rest Services (RestEasy). • Working knowledge on relational databases like Oracle 10g and Postgresql 8. • Pro-active, highly motivated, results oriented and leadership skills with great team ethics. Technical Expertise • Programming Languages : Java 5/6/7.
    [Show full text]
  • Configurable Editing of XML-Based Variable-Data Documents John Lumley, Roger Gimson, Owen Rees HP Laboratories HPL-2008-53
    Configurable Editing of XML-based Variable-Data Documents John Lumley, Roger Gimson, Owen Rees HP Laboratories HPL-2008-53 Keyword(s): XSLT, SVG, document construction, functional programming, document editing Abstract: Variable data documents can be considered as functions of their bindings to values, and this function could be arbitrarily complex to build strongly-customised but high-value documents. We outline an approach for editing such documents from example instances, which is highly configurable in terms of controlling exactly what is editable and how, capable of being used with a wide variety of XML-based document formats and processing pipelines, if certain reasonable properties are supported and can generate appropriate editors automatically, including web- service deployment. External Posting Date: October 6, 2008 [Fulltext] Approved for External Publication Internal Posting Date: October 6, 2008 [Fulltext] Published and presented at DocEng’08, September 16-19, 2008, São Paulo, Brazil © Copyright 2008 ACM Configurable Editing of XML-based Variable-Data Documents John Lumley, Roger Gimson, Owen Rees Hewlett-Packard Laboratories Filton Road, Stoke Gifford BRISTOL BS34 8QZ, U.K. {john.lumley,roger.gimson,owen.rees}@hp.com ABSTRACT al form of the final document (WYSIWYG rather than declaring Variable data documents can be considered as functions of their intent such as using LaTeX), but when the document is highly vari- bindings to values, and this function could be arbitrarily complex able and there are very many different possible instances, how to to build strongly-customised but high-value documents. We outline do this is not immediately obvious. an approach for editing such documents from example instances, We were also keen to consider that, especially in complex commer- which is highly configurable in terms of controlling exactly what ical document workflows, there may be many distinctly different is editable and how, capable of being used with a wide variety of roles of ‘editor’ and ‘author’ for such documents.
    [Show full text]
  • Stylesheet Translations of SVG to VML
    Stylesheet Translations of SVG to VML A Master's Project presented to The Faculty of the Department of Computer Science San Jose State University In Partial Fulfillment of the Requirements for the Degree of Master of Science Julie Nabong Advisor: Dr. Chris Pollett May 2004 Abstract The most common graphics formats on the Web today are JPEG and GIF. In addition to these formats, two XML-based graphic types are available as open standards: SVG and VML. SVG and VML are vector graphic formats. These formats offer benefits such as fast Web download time, zoomable images, and searchable texts. Because these vector graphics are scalable, these images can be viewed in different screen sizes, such as PC displays and handheld devices. SVG and VML implementations are gaining popularity in Internet cartography and zoomable charts. SVG images can be viewed by downloading a plug-in; whereas, VML images are rendered in Microsoft's Internet Explorer browser versions 5.0 and higher. Although SVG may be considered a more mature format than VML, it is unlikely it will be supported natively by Microsoft anytime soon. In this master's project, SVG images will be transformed into VML images contained in an HTML document that can be viewed without a plug-in. SVG images will be manipulated through the Document Object Model API and transformed into VML images using JavaScript, XSLT, and XPath. JavaScript will play an important role in handling functionalities not present in XSLT. This project will address the issue of gradient discrepancies between the two formats, and try to get the speed of the translation as close to that of the plug-in based solution as possible.
    [Show full text]
  • Refactoring XSLT
    XSLT and XQuery September 19, 2019 Refactoring XSLT Priscilla Walmsley, Datypic, Inc. Class Outline Introduction ......................................................................................................................................2 Cleaning Up......................................................................................................................................9 Improving Code Quality..................................................................................................................14 Other Improvements.......................................................................................................................21 Introduction 2 Obligatory Wikipedia Quote 3 Code refactoring is the process of restructuring existing computer code - changing the factoring - without changing its external behavior. Refactoring improves nonfunctional attributes of the software. Advantages include improved code readability and reduced complexity; these can improve source code maintainability and create a more expressive internal architecture or object model to improve extensibility. Typically, refactoring applies a series of standardised basic micro-refactorings, each of which is (usually) a tiny change in a computer program's source code that either preserves the behaviour of the software, or at least does not modify its conformance to functional requirements. Many development environments provide automated support for performing the mechanical aspects of these basic refactorings. If done extremely well, code
    [Show full text]