Session 7 - Main Theme XML Information Rendering (Part I)

Total Page:16

File Type:pdf, Size:1020Kb

Session 7 - Main Theme XML Information Rendering (Part I) XML for Java Developers G22.3033-002 Session 7 - Main Theme XML Information Rendering (Part I) Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences 1 Agenda Summary of Previous Session Extensible Stylesheet Language Transformation (XSL-T) Extensible Stylesheet Language Formatting Object (XSL-FO) XML and Document/Content Management Introduction to XML Application Servers Working with XSLT-T and XSL-FO Processors Assignment 4a+4b (due in two week) 2 1 Summary of Previous Session Summary of Previous Session Document Object Model (DOM) Advanced XML Parser Technology JDOM: Java-Centric API for XML JAXP: Java API for XML Processing Parsers comparison Latest W3C APIs and Standards for Processing XML XML Infoset, DOM Level 3, Canonical XML XML Signatures, XBase, XInclude XML Schema Adjuncts Java-Based XML Data Processing Frameworks Assignment #3 3 XML-Based Rendering Development XML Software Development Methodology Language + Stepwise Process + Tools Rational Unified Process (RUP) vs. “XML Unified Process” XML Application Development Infrastructure Metadata Management (e.g., XMI) XSLT, XPath XSL-FO APIs (JAXP, JAXB, JDOM, SAX, DOM) XML Tools (e.g., XML Editors, Apache’s FOP, Antenna House’s XSL Formatter, HTML/CSS1/2/3, XHTML, XForms, WCAG XML App. Components Involved in the Rendering Phase: Application(s) of XML XML-based applications/services (markup language mediators) MOM, POP, Other Services (e.g., persistence) 4 Application Infrastructure Frameworks 2 Part I Introduction to XSL 5 EXtensible Stylesheet (XSL) Language Family Family of recommendations to define XML document transformation and presentation as “style sheets” Three parts: A language for transforming XML documents XSL Transformations (XSLT) Expression language used by XSLT to access or refer to parts of an XML document XML Path Language (XPath) (also used for XML Linking) A XML vocabulary for specifying formatting semantics XSL Formatting Objects (XSL-FO) See http://www.w3.org/Style/XSL for the XSLT 1.0, XPath 1.0, and XSL-FO 1.0 recommendations and working drafts of XSLT 2.0 and XPath 2.0 6 3 How Does XSL Work? An XSL style sheet is an XML document XSLT elements in an XSL style sheet correspond to a series of XSL “transformation” rules (i.e., XML tree transformation and/or formatting rules) XSLT rules describe how particular XML tags are to be converted to “flow objects” as the document is read XPath (e.g., para[@type="warning"][5]) http://www.w3.org/2002/11/xquery-xpath-applets/xpathApplet.html 7 XSL Example XML Document <scene> <FX>General Road Building noises.</FX> <speech speaker="Prosser"> Come off it Mr Dent, you can't win you know. There's no point in lying down in the path of progress. </speech> <speech speaker="Arthur"> I've gone off the idea of progress. It's overrated </speech> </scene> 8 4 XSL Example (continued) Sample stylesheet <xsl:template match="FX"> <fo:block font-weight="bold"> <xsl:apply-templates/> </fo:block> </xsl:template> <xsl:template match="speech[@speaker='Arthur']"> <fo:block background-color="blue"> <xsl:value-of select="@speaker"/>: <xsl:apply-templates/> </fo:block> </xsl:template> 9 XML Data Rendering Patterns Manipulating and Rendering XML Structures Using Java XSLT Transform Sort Output XSLT + XSL-FO Format Output Querying will be covered separately 10 5 XSL Related Technologies DSSSL & DSSSL-O CSS 1, 2, 3 … http://www.w3.org/Style/CSS/ XSLT XPath XSL-FO XSLT Processors Stylus Studio XSL development environment IBM XSL Editor Saxon and Xalan XSLT processors XSL-FO Processors Antenna House 11 fop XSL Processing See http://www.w3.org/Style/XSL/ Processing Alternatives: HTML + CSS -> Presentation XML + CSS -> Presentation XML + XSLT -> XSL-FO -> Presentation XML + XSLT -> XML/HTML + CSS -> Presentation Client or Server Processing ? See Session 2 handout on IE5’s implementation of the XSL Spec. Examples See Session 2 Sub-Topic 1 Presentation: Beginning XML See Session 2 handouts on XSL Tree Transformation Language See Session 2 handout on Cascading Stylesheets See Session 2 handout on Styling Documents Using XSL 12 6 A Language for “Mapping XML” (LMX) LMX is a sample textbook application st XML and Java texbook (1 edition) LMX can convert a document in one DTD into another DTD and vice versa LMX uses rules to describe bi-directional “MOM” conversions between two sets of documents Rules have a “from-pattern” and a “to-pattern”b to respectively match the source document, and construct the target document Some restrictions exist w.r.t. the LMX patterns in order to simplify the program as much as possible LMX can also be used to convert a XML document to HTML (“POP” application) 13 How Does the LMX Processor Work? LMX makes heavy use of the DOM 1.0 API LMX uses XML4J internally to: Parse a rule file Parse a source document Generate a target document See chapter 4.3 in the XML and Java textbook (1st Edition) for a detailed description of the LMX implementation 14 7 LMX v.s. the eXtensible Stylesheet Language (XSL) LMX and XSL both provide a syntax to encode “Style Sheets” Each XML document can be associated with a style sheet that describes how elements should be organized and formatted for presentation XSL style sheets provide custom appearances that give a web site a unified look and feel 15 Part II Extensible Stylesheet Language Transformation (XSLT) 16 8 XSLT http://www.dpawson.co.uk/xsl/sect1/sect1.html An XSLT stylesheet specifies the presentation of a class of XML documents Describes how an instance of the class is transformed into an XML document that uses a formatting vocabulary (e.g., XHTML, XSL-FO) XSLT Terminology See http://www.dpawson.co.uk/xsl/xslvocab.html Ref. card: http://www.mulberrytech.com/quickref/ “@”: abbreviation for attribute “..”: abbreviation for parent::node() “*”: identifies all of the element children of the context node (@* means all attributes) “.”: abbreviation for self::node() 17 XSL Transformations Assume root element of style sheet is <xsl> Each <xsl> element contains one or more rule elements Each rule has a target and an action Target is a regular expression defining to which XML elements the rule applies Action is the list of flow objects generated when the rule is applied: Actions output a series of HTML tags in combination with the content of the element Actions may output XML tags obtained via transformation of original XML data Actions may output non-markup text, or run simple scripts or programs Actions may use JavaScript to provide more complex, and dynamic behaviors 18 9 XSL Transformations (continued) Conceptual Representation of XSL Transformations: <xsl> <rule> <target-element type=“tagname”/> action </rule> <rule> (…) </rule> </xsl> 19 XSLT and Templates XSLT rules are also called “Templates” There may not be rules to match every element Elements can be reordered on the output. XSL style sheet must be well-formed e.g., a HTML empty tag specified as <br> must be written as <br/> within a XSL style sheet action XSLT elements used as a basis for a simple stylesheet are: <xsl:stylesheet>, <xsl:template match …>, <xsl:apply- templates>, <xsl:for-each select ...>, and <xsl:sort select …> 20 10 XSLT Elements and Functions Creating Elements and Attributes xsl:element, xsl:attribute Iteration and Sorting (e.g., xsl:sort) Conditional Processing xsl:apply-templates select=“ … “, xsl:if, xsl:choose Copying Nodes (e.g., xsl:copy) Combining Stylesheets xsl:import, xsl:include Defining Variables & Parameters (e.g., xsl:variable) Scripting with XPath functions 21 Parsers with XSLT Support SAX 2.0 or DOM Level 2 1.0 Support Required Apache’s Xalan XSLT parser org.apache.xalan.processor/templates/transformer org.apache.xpath Saxon XSLT parser JAXP 1.2 (javax.xml.transform) Transformation API for XML (TraX) Supported by Xalan 2.5.1, and Saxon 6.3 Sun’s XSLTC (donated to Apache and used in Xalan) Converts stylesheet’s to class files (“translets”) 22 11 XSLT APIs 23 XSLT API Packages See Session 3 handout on “Processing XML Documents in Java Using XPath and XSLT” javax.xml.transform Defines the TransformerFactory and Transformer classes, which you use to get a object capable of doing transformations. After creating a transformer object, you invoke its transform() method, providing it with an input (source) and output (result). javax.xml.transform.dom Classes to create input (source) and output (result) objects from a DOM. javax.xml.transform.sax Classes to create input (source) from a SAX parser and output (result) objects from a SAX event handler. javax.xml.transform.stream Classes to create input (source) and output (result) objects from an I/O stream. 24 12 Using TraX http://www-106.ibm.com/developerworks/xml/library/x-tiptrax/ Create source, style, and result objects, and manipulate them using a “Transformer” object Transformer can consume a stream of SAX events to avoid the use of intermediate files or other objects to hold data See complete example using TraX at: http://www.informit.com/isapi/product_id~%7B29A138BF-A72D- 4E3F-AA1C-596EAF7099BD%7D/content/index.asp 25 Part III Extensible Stylesheet Language Formatting Object (XSL-FO) 26 13 XSL Formatting Pipeline XSL-FO is an intermediate form (partial media-dependent output) Java APIs: JAXP + FOP, jFO, XEP, etc. http://www.xmlsoftware.com/xslfo.html 27 XSL Formatting XSL flow objects are markup text Markup language output flow
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]
  • Bibliography of Erik Wilde
    dretbiblio dretbiblio Erik Wilde's Bibliography References [1] AFIPS Fall Joint Computer Conference, San Francisco, California, December 1968. [2] Seventeenth IEEE Conference on Computer Communication Networks, Washington, D.C., 1978. [3] ACM SIGACT-SIGMOD Symposium on Principles of Database Systems, Los Angeles, Cal- ifornia, March 1982. ACM Press. [4] First Conference on Computer-Supported Cooperative Work, 1986. [5] 1987 ACM Conference on Hypertext, Chapel Hill, North Carolina, November 1987. ACM Press. [6] 18th IEEE International Symposium on Fault-Tolerant Computing, Tokyo, Japan, 1988. IEEE Computer Society Press. [7] Conference on Computer-Supported Cooperative Work, Portland, Oregon, 1988. ACM Press. [8] Conference on Office Information Systems, Palo Alto, California, March 1988. [9] 1989 ACM Conference on Hypertext, Pittsburgh, Pennsylvania, November 1989. ACM Press. [10] UNIX | The Legend Evolves. Summer 1990 UKUUG Conference, Buntingford, UK, 1990. UKUUG. [11] Fourth ACM Symposium on User Interface Software and Technology, Hilton Head, South Carolina, November 1991. [12] GLOBECOM'91 Conference, Phoenix, Arizona, 1991. IEEE Computer Society Press. [13] IEEE INFOCOM '91 Conference on Computer Communications, Bal Harbour, Florida, 1991. IEEE Computer Society Press. [14] IEEE International Conference on Communications, Denver, Colorado, June 1991. [15] International Workshop on CSCW, Berlin, Germany, April 1991. [16] Third ACM Conference on Hypertext, San Antonio, Texas, December 1991. ACM Press. [17] 11th Symposium on Reliable Distributed Systems, Houston, Texas, 1992. IEEE Computer Society Press. [18] 3rd Joint European Networking Conference, Innsbruck, Austria, May 1992. [19] Fourth ACM Conference on Hypertext, Milano, Italy, November 1992. ACM Press. [20] GLOBECOM'92 Conference, Orlando, Florida, December 1992. IEEE Computer Society Press. http://github.com/dret/biblio (August 29, 2018) 1 dretbiblio [21] IEEE INFOCOM '92 Conference on Computer Communications, Florence, Italy, 1992.
    [Show full text]
  • Sigada 2001 Workshop Symbiosis4jun02 Pub.Fm
    SIGAda 2001 Workshop, “Creating a Symbiotic Relationship Between XML and Ada” Robert C. Leif Ada_Med, a Division of Newport Instruments 5648 Toyon Road, San Diego, CA 92115-1022, USA E-mail [email protected] www.newportinstruments.com www.Ada-Med.com +1 (619)582-0437 Abstract: The purpose of the workshop was to organize the Ada community to take advantage of the opportunity to create Ada applications that are operating systems independent because they are based on a web technology, XML, Extensible Markup Language. The commercial use of the Internet is the driving force behind XML. Four elements of XML, which together are sufficient to build a web application, and all employ the same syntax were described. These are XML; its schema; the Extensible Stylesheet Language, XSL; and the XML mechanism for forms, XForms. XML concerns the data objects that are included on the web page and their order of presentation. The schema contains the information on the types and objects for XML. Schemas are roughly equivalent to an Ada specification without the subprograms. Fortunately, the programing language that has the best fit with XML is Ada. XML has visibility and scoping rules, which are similar to Ada. XML has strong typing and has single inheritance similar to Ada. A mutually beneficial symbiosis requires the creation of applications in Ada that use and support XML, as well as, the use of XML to cre- ate Ada environments including XML based tools. These applications include: automated translation of Ada data types and objects in a specification to an XML schema; and conversely, automated translation of the data types and elements in an XML Schema to an Ada specification.
    [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]
  • Oracle Java Composite Application Platform Suite 6.3 Release Notes
    Oracle® Java Composite Application Platform Suite 6.3 Release Notes Part No: 821–2528 December 2011 Copyright © 2009, 2011, Oracle and/or its affiliates. All rights reserved. This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable: U.S. GOVERNMENT RIGHTS. Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms setforth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle America, Inc., 500 Oracle Parkway, Redwood City, CA 94065.
    [Show full text]
  • Ontology Matching • Semantic Social Networks and Peer-To-Peer Systems
    The web: from XML to OWL Rough Outline 1. Foundations of XML (Pierre Genevès & Nabil Layaïda) • Core XML • Programming with XML Development of the future web • Foundations of XML types (tree grammars, tree automata) • Tree logics (FO, MSO, µ-calculus) • Expressing information ! Languages • A taste of research: introduction to some grand challenges • Manipulating it ! Algorithms 2. Semantics of knowledge representation on the web (Jérôme Euzenat & • in the most correct, efficient and ! Logic Marie-Christine Rousset) meaningful way ! Semantics • Semantic web languages (URI, RDF, RDFS and OWL) • Querying RDF and RDFS (SPARQL) • Querying data though ontologies (DL-Lite) • Ontology matching • Semantic social networks and peer-to-peer systems 1 / 8 2 / 8 Foundations of XML Semantic web We will talk about languages, algorithms, and semantics for efficiently and meaningfully manipulating formalised knowledge. We will talk about languages, algorithms, and programming techniques for efficiently and safely manipulating XML data. You will learn about: You will learn about: • Expressing formalised knowledge on the semantic web (RDF) • Tree structured data (XML) ! Syntax and semantics ! Tree grammars & validation You will not learn about: • Expressing ontologies on the semantic • XML programming (XPath, XSLT...) You will not learn about: web (RDFS, OWL, DL-Lite) • Tagging pictures ! Queries & transformations ! Syntax and semantics • Hacking CGI scripts ! Reasoning • Sharing MP3 • Foundational theory & tools • HTML • Creating facebook ! Regular expressions
    [Show full text]
  • SDL Contenta S1000D and SDL Livecontent S1000D Cross-Product Graphics and Multimedia Support
    SDL Contenta S1000D and SDL LiveContent S1000D Cross-Product Graphics and Multimedia Support SDL Contenta S1000D and SDL LiveContent S1000D 5.9 December 2020 Legal notice Copyright and trademark information relating to this product release. Copyright © 2009–2020 SDL Group. SDL Group means SDL PLC. and its subsidiaries and affiliates. All intellectual property rights contained herein are the sole and exclusive rights of SDL Group. All references to SDL or SDL Group shall mean SDL PLC. and its subsidiaries and affiliates details of which can be obtained upon written request. All rights reserved. Unless explicitly stated otherwise, all intellectual property rights including those in copyright in the content of this website and documentation are owned by or controlled for these purposes by SDL Group. Except as otherwise expressly permitted hereunder or in accordance with copyright legislation, the content of this site, and/or the documentation may not be copied, reproduced, republished, downloaded, posted, broadcast or transmitted in any way without the express written permission of SDL. Contenta S1000D is a registered trademark of SDL Group. All other trademarks are the property of their respective owners. The names of other companies and products mentioned herein may be the trade- marks of their respective owners. Unless stated to the contrary, no association with any other company or product is intended or should be inferred. This product may include open source or similar third-party software, details of which can be found by clicking the following link: “Acknowledgments” on page 7. Although SDL Group takes all reasonable measures to provide accurate and comprehensive information about the product, this information is provided as-is and all warranties, conditions or other terms concerning the documentation whether express or implied by statute, common law or otherwise (including those relating to satisfactory quality and fitness for purposes) are excluded to the extent permitted by law.
    [Show full text]
  • Return of Organization Exempt from Income
    OMB No. 1545-0047 Return of Organization Exempt From Income Tax Form 990 Under section 501(c), 527, or 4947(a)(1) of the Internal Revenue Code (except black lung benefit trust or private foundation) Open to Public Department of the Treasury Internal Revenue Service The organization may have to use a copy of this return to satisfy state reporting requirements. Inspection A For the 2011 calendar year, or tax year beginning 5/1/2011 , and ending 4/30/2012 B Check if applicable: C Name of organization The Apache Software Foundation D Employer identification number Address change Doing Business As 47-0825376 Name change Number and street (or P.O. box if mail is not delivered to street address) Room/suite E Telephone number Initial return 1901 Munsey Drive (909) 374-9776 Terminated City or town, state or country, and ZIP + 4 Amended return Forest Hill MD 21050-2747 G Gross receipts $ 554,439 Application pending F Name and address of principal officer: H(a) Is this a group return for affiliates? Yes X No Jim Jagielski 1901 Munsey Drive, Forest Hill, MD 21050-2747 H(b) Are all affiliates included? Yes No I Tax-exempt status: X 501(c)(3) 501(c) ( ) (insert no.) 4947(a)(1) or 527 If "No," attach a list. (see instructions) J Website: http://www.apache.org/ H(c) Group exemption number K Form of organization: X Corporation Trust Association Other L Year of formation: 1999 M State of legal domicile: MD Part I Summary 1 Briefly describe the organization's mission or most significant activities: to provide open source software to the public that we sponsor free of charge 2 Check this box if the organization discontinued its operations or disposed of more than 25% of its net assets.
    [Show full text]
  • XML: Looking at the Forest Instead of the Trees Guy Lapalme Professor Département D©Informatique Et De Recherche Opérationnelle Université De Montréal
    XML: Looking at the Forest Instead of the Trees Guy Lapalme Professor Département d©informatique et de recherche opérationnelle Université de Montréal C.P. 6128, Succ. Centre-Ville Montréal, Québec Canada H3C 3J7 [email protected] http://www.iro.umontreal.ca/~lapalme/ForestInsteadOfTheTrees/ Publication date April 14, 2019 XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/ XML: Looking at the Forest Instead of the Trees Guy Lapalme Professor Département d©informatique et de recherche opérationnelle Université de Montréal C.P. 6128, Succ. Centre-Ville Montréal, Québec Canada H3C 3J7 [email protected] http://www.iro.umontreal.ca/~lapalme/ForestInsteadOfTheTrees/ Publication date April 14, 2019 Abstract This tutorial gives a high-level overview of the main principles underlying some XML technologies: DTD, XML Schema, RELAX NG, Schematron, XPath, XSL stylesheets, Formatting Objects, DOM, SAX and StAX models of processing. They are presented from the point of view of the computer scientist, without the hype too often associated with them. We do not give a detailed description but we focus on the relations between the main ideas of XML and other computer language technologies. A single compact pretty-print example is used throughout the text to illustrate the processing of an XML structure with XML technologies or with Java programs. We also show how to create an XML document by programming in Java, in Ruby, in Python, in PHP, in E4X (Ecmascript for XML) and in Swift. The source code of the example XML ®les and the programs are available either at the companion web site of this document or by clicking on the ®le name within brackets at the start of the caption of each example.
    [Show full text]
  • SVG-Based Knowledge Visualization
    MASARYK UNIVERSITY FACULTY}w¡¢£¤¥¦§¨ OF I !"#$%&'()+,-./012345<yA|NFORMATICS SVG-based Knowledge Visualization DIPLOMA THESIS Miloš Kaláb Brno, spring 2012 Declaration Hereby I declare, that this paper is my original authorial work, which I have worked out by my own. All sources, references and literature used or excerpted during elaboration of this work are properly cited and listed in complete reference to the due source. Advisor: RNDr. Tomáš Gregar Ph.D. ii Acknowledgement I would like to thank RNDr. Tomáš Gregar Ph.D. for supervising the thesis. His opinions, comments and advising helped me a lot with accomplishing this work. I would also like to thank to Dr. Daniel Sonntag from DFKI GmbH. Saarbrücken, Germany, for the opportunity to work for him on the Medico project and for his supervising of the thesis during my erasmus exchange in Germany. Big thanks also to Jochen Setz from Dr. Sonntag’s team who worked on the server background used by my visualization. Last but not least, I would like to thank to my family and friends for being extraordinary supportive. iii Abstract The aim of this thesis is to analyze the visualization of semantic data and sug- gest an approach to general visualization into the SVG format. Afterwards, the approach is to be implemented in a visualizer allowing user to customize the visualization according to the nature of the data. The visualizer was integrated as an extension of Fresnel Editor. iv Keywords Semantic knowledge, SVG, Visualization, JavaScript, Java, XML, Fresnel, XSLT v Contents Introduction . .3 1 Brief Introduction to the Related Technologies ..........5 1.1 XML – Extensible Markup Language ..............5 1.1.1 XSLT – Extensible Stylesheet Lang.
    [Show full text]
  • Content Processing Framework Guide (PDF)
    MarkLogic Server Content Processing Framework Guide 2 MarkLogic 9 May, 2017 Last Revised: 9.0-7, September 2018 Copyright © 2019 MarkLogic Corporation. All rights reserved. MarkLogic Server Version MarkLogic 9—May, 2017 Page 2—Content Processing Framework Guide MarkLogic Server Table of Contents Table of Contents Content Processing Framework Guide 1.0 Overview of the Content Processing Framework ..........................................7 1.1 Making Content More Useful .................................................................................7 1.1.1 Getting Your Content Into XML Format ....................................................7 1.1.2 Striving For Clean, Well-Structured XML .................................................8 1.1.3 Enriching Content With Semantic Tagging, Metadata, etc. .......................8 1.2 Access Internal and External Web Services ...........................................................8 1.3 Components of the Content Processing Framework ...............................................9 1.3.1 Domains ......................................................................................................9 1.3.2 Pipelines ......................................................................................................9 1.3.3 XQuery Functions and Modules .................................................................9 1.3.4 Pre-Commit and Post-Commit Triggers ...................................................10 1.3.5 Creating Custom Applications With the Content Processing Framework 11 1.4
    [Show full text]