How to Break XML Encryption – Automatically ∗

Total Page:16

File Type:pdf, Size:1020Kb

How to Break XML Encryption – Automatically ∗ How to Break XML Encryption – Automatically ∗ Dennis Kupser, Christian Mainka, Jorg¨ Schwenk, Juraj Somorovsky Horst Gortz¨ Institute for IT Security Ruhr University Bochum [email protected], [email protected] [email protected], [email protected] Abstract 1 Introduction The W3C standard XML Encryption ensures confiden- In the recent years, XML Encryption became a target of tiality of XML data, directly on the message level. It is several new attacks [18, 17, 16]. These attacks belong to used in security-critical scenarios like business and gov- the family of adaptive chosen-ciphertext attacks, and al- ernmental applications, banking systems or healthcare low an adversary to decrypt symmetric and asymmetric services. Given the importance of the scenarios XML XML ciphertexts, without knowing the secret keys. In Encryption is deployed, its security becomes a crucial order to protect XML Encryption implementations, the point. World Wide Web Consortium (W3C) published an up- XML Encryption is mainly used with two encryption dated version of the standard. algorithms: AES-CBC and RSA-PKCS#1 v1.5.1 These Unfortunately, most of the current XML Encryption two standards recently became targets of attacks in many implementations do not support the newest XML En- practical scenarios ranging from IPSec [7, 8] and TLS [2] cryption specification and offer different XML Security to web applications and Captchas [25]. In 2011, it was configurations to protect confidentiality of the exchanged shown that the XML Encryption standard is also vul- messages. Resulting from the attack complexity, evalu- nerable to attacks affecting confidentiality of symmetric ation of the security configuration correctness becomes ciphertexts [18]. One year later, further attacks affect- tedious and error prone. Validation of the applied coun- ing public key encryption in XML Encryption were de- termeasures can typically be made with numerous XML scribed [17]. The attacks belong to the family of adaptive messages provoking incorrect behavior by decrypting chosen-ciphertext attacks. They are applicable when the XML content. Up to now, this validation was only man- attacker is able to modify an inspected ciphertext (i.e., ually possible. the ciphertext is not authenticated), send it to the server for processing, and observe the server’s response. Based In this paper, we systematically analyze the chosen- on this response, the attacker can decide whether the de- ciphertext attacks on XML Encryption and design an al- crypted request was valid or invalid. To distinguish valid gorithm to perform a vulnerability scan on arbitrary en- from invalid requests, he can use side channels, for ex- crypted XML messages. The algorithm can automati- ample, by observing response error message or measur- cally detect a vulnerability and exploit it to retrieve the ing response times. plaintext of a message protected by XML Encryption. To In order to protect the servers against these attacks the assess practicability of our approach, we implemented newest XML Encryption specification proposes to use an open source attack plugin for Web Service attacking encryption schemes that are not vulnerable to adaptive tool called WS-Attacker. With the plugin, we discovered chosen-ciphertext attacks: AES-GCM and RSA-OAEP. new security problems in four out of five analyzed Web However, these schemes are not widely deployed in to- Service implementations, including IBM Datapower or day’s XML Security frameworks and different measures Apache CXF. have to be applied to vulnerable servers. Typically, XML Encryption is deployed together with ∗The full version of this paper is available at 1In addition, the PKCS#1 standard contains version 2.1, also called http://nds.rub.de/research/publications/ RSA-OAEP. In our paper, with PKCS#1 we refer to version 1.5, unless how-to-break-xml-encryption-automatically defined otherwise. 1 XML Signatures, which can be used to protect data in- secure cryptography and prevent future specification vul- tegrity and authenticity. Nevertheless, in many cases, the nerabilities. XML Signature protection can be circumvented using Even though our library is currently embedded in the XML Signature Wrapping and XML Encryption Wrap- WS-Attacker framework, the implemented algorithms ping techniques [29]. The idea behind these techniques is are of general importance and can be used to analyze fur- very simple: the attacker moves the signed or encrypted ther XML Security standards (e.g., SAML) as well. data to a different document part so that the encrypted data becomes unprotected. However, the complexity of Responsible Disclosure. We communicated our find- the XML structure and XML processing makes it diffi- ings to the Web Services developers. Vulnerabilities cult to prevent from these attacks, which is underlined in Apache CXF are summarized under CVE-2015-0226 by a large body of research [28, 21, 29, 27, 20, 23]. This and CVE-2015-0227. Security best practices resulting allows the attacker to force the server to decrypt unpro- from our discussions with IBM Datapower developers tected elements, and thus practically execute the chosen- are addressed in their Flash alert [1]. Problems reported ciphertext attacks. to the Axway security team are still under investigation. Contribution. In this paper, we first summarize possi- 2 Foundations ble countermeasures against the attacks on XML Encryp- tion. We present problems connected with various con- In the following, we assume the reader is familiar with figurations XML Encryption is deployed with, and how basic concepts behind symmetric and asymmetric cryp- to circumvent these countermeasures. We present a sys- tography. Details behind the concrete cryptographic tematic methodology on verifying interfaces using XML algorithms (RSA-PKCS#1 [19], AES-CBC [9], AES- Encryption. Based on this methodology, we implement GCM [10]) are not needed to understand this paper. We an automatic plugin for the WS-Attacker Web Service stress again that with RSA-PKCS#1, we refer to version penetration testing framework [22] that allows one to au- 1.5, unless defined otherwise. tomatically analyze Web Services interfaces and execute attacks on XML Encryption. 2.1 SOAP-based Web Services We use our new plugin to analyze different Web Ser- vices frameworks and their application of XML En- The SOAP standard describes the message exchange cryption. One could think that widely used Web ser- with a Web Service [14]. Listing 1 depicts a SOAP vice frameworks and commercially used XML Secu- message example consisting of an Envelope element rity Gateways are aware of the threat to XML Encryp- with two child elements named Header and Body. The tion. However, our evaluation shows that it is possi- SOAP Header element can contain meta information, ble to attack frameworks like Apache CXF,2 IBM Dat- for example, timestamps, signatures or encryption de- apower3 (if not configured correctly) and Axway Gate- tails. The SOAP Body element stores the payload that is way4. All these frameworks implemented several meth- processed by the Web Service operation. ods to protect Web Services from the attacks. The protec- <soapenv:Envelope> tion mechanisms by Apache CXF could be successfully <soapenv:Header/> circumvented using XML Encryption and XML Signa- <soapenv:Body> ture Wrapping techniques. Axway Gateway and IBM <addUser><name>Bob</ name></ addUser> </soapenv:Body> Datapower offer several security configurations. How- </soapenv:Envelope> ever, only a few of them could be successfully applied to Listing 1: Exemplary SOAP message. prevent the attacks. Our paper once again shows that usage of insecure cryptographic algorithms (AES-CBC, RSA-PKCS#1) in complex scenarios can lead to sustainable and se- 2.2 XML Signature vere consequences (e.g., backward compatibility at- XML Signature is a W3C recommendation that de- tacks [16]), which can be used to expose confidential data fines a syntax for using digital signatures in XML mes- even if specific countermeasures are applied. We thus en- sages [15]. It is used for ensuring integrity and authentic- courage protocol and standard designers to use provably ity of XML message fragments or even the whole XML messages. 2http://cxf.apache.org 3http://www-03.ibm.com/software/products/en/ The signing process undertakes the following flow: datapower-gateway For each XML fragment to be signed, a Reference el- 4http://www.axway.com ement is created and the DigestValue of the element 2 soap:Envelope soap:Envelope soap:Header soap:Header wsse:Security wsse:Security ds:Signature EncryptedKey EncryptionMethod Algorithm=”rsa-1 5” ds:SignedInfo KeyInfo ds:SignatureMethod CipherData ds:Reference URI=”#body” CipherValue ds:DigestMethod ReferenceList ds:DigestValue Reference URI=”#EncData” Protected by SignatureValue Asymmetric decryption ds:SignatureValue soap:Body soap:Body wsu:Id=”body” EncryptedData wsu:Id=”EncData” ns1:addUser EncryptionMethod Algorithm=”aes128-cbc” CipherData ns1:name CipherValue Protected by DigestValue Symmetric decryption Figure 1: Simplified signed SOAP message. Figure 2: Simplified encrypted SOAP message. referenced by the URI attribute is computed using the al- gorithm specified in the DigestMethod element. Af- element using RSA-PKCS#1 [19]. After successful terwards, the SignedInfo element is signed using the decryption, the content is further used as a session key k. algorithm defined in the SignatureMethod element. Afterwards, the server searches for the For embedding an XML Signature into a SOAP mes- EncryptedData elements
Recommended publications
  • XML Signature/Encryption — the Basis of Web Services Security
    Special Issue on Security for Network Society Falsification Prevention and Protection Technologies and Products XML Signature/Encryption — the Basis of Web Services Security By Koji MIYAUCHI* XML is spreading quickly as a format for electronic documents and messages. As a consequence, ABSTRACT greater importance is being placed on the XML security technology. Against this background research and development efforts into XML security are being energetically pursued. This paper discusses the W3C XML Signature and XML Encryption specifications, which represent the fundamental technology of XML security, as well as other related technologies originally developed by NEC. KEYWORDS XML security, XML signature, XML encryption, Distributed signature, Web services security 1. INTRODUCTION 2. XML SIGNATURE XML is an extendible markup language, the speci- 2.1 Overview fication of which has been established by the W3C XML Signature is an electronic signature technol- (WWW Consortium). It is spreading quickly because ogy that is optimized for XML data. The practical of its flexibility and its platform-independent technol- benefits of this technology include Partial Signature, ogy, which freely allows authors to decide on docu- which allows an electronic signature to be written on ment structures. Various XML-based standard for- specific tags contained in XML data, and Multiple mats have been developed including: ebXML and Signature, which enables multiple electronic signa- RosettaNet, which are standard specifications for e- tures to be written. The use of XML Signature can commerce transactions, TravelXML, which is an EDI solve security problems, including falsification, spoof- (Electronic Data Interchange) standard for travel ing, and repudiation. agencies, and NewsML, which is a standard specifica- tion for new distribution formats.
    [Show full text]
  • XML for Java Developers G22.3033-002 Course Roadmap
    XML for Java Developers G22.3033-002 Session 1 - Main Theme Markup Language Technologies (Part I) Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences 1 Course Roadmap Consider the Spectrum of Applications Architectures Distributed vs. Decentralized Apps + Thick vs. Thin Clients J2EE for eCommerce vs. J2EE/Web Services, JXTA, etc. Learn Specific XML/Java “Patterns” Used for Data/Content Presentation, Data Exchange, and Application Configuration Cover XML/Java Technologies According to their Use in the Various Phases of the Application Development Lifecycle (i.e., Discovery, Design, Development, Deployment, Administration) e.g., Modeling, Configuration Management, Processing, Rendering, Querying, Secure Messaging, etc. Develop XML Applications as Assemblies of Reusable XML- Based Services (Applications of XML + Java Applications) 2 1 Agenda XML Generics Course Logistics, Structure and Objectives History of Meta-Markup Languages XML Applications: Markup Languages XML Information Modeling Applications XML-Based Architectures XML and Java XML Development Tools Summary Class Project Readings Assignment #1a 3 Part I Introduction 4 2 XML Generics XML means eXtensible Markup Language XML expresses the structure of information (i.e., document content) separately from its presentation XSL style sheets are used to convert documents to a presentation format that can be processed by a target presentation device (e.g., HTML in the case of legacy browsers) Need a
    [Show full text]
  • Introduction to XML
    Introduction to XML CS 317/387 Agenda – Introduction to XML 1. What is it? 2. What’s it good for? 3. How does it work? 4. The infrastructure of XML 5. Using XML on the Web 6. Implementation issues & costs 2 1. What is it? Discussion points: First principles: OHCO Example: A simple XML fragment Compare/contrast: SGML, HTML, XHTML A different XML for every community Terminology 3 1 Ordered hierarchies of content objects Premise: A text is the sum of its component parts A <Book> could be defined as containing: <FrontMatter>, <Chapter>s, <BackMatter> <FrontMatter> could contain: <BookTitle> <Author>s <PubInfo> A <Chapter> could contain: <ChapterTitle> <Paragraph>s A <Paragraph> could contain: <Sentence>s or <Table>s or <Figure>s … Components chosen should reflect anticipated use 4 Ordered hierarchies of content objects OHCO is a useful, albeit imperfect, model Exposes an object’s intellectual structure Supports reuse & abstraction of components Better than a bit-mapped page image Better than a model of text as a stream of characters plus formatting instructions Data management system for document-like objects Does not allow overlapping content objects Incomplete; requires infrastructure 5 Content objects in a book Book FrontMatter BookTitle Author(s) PubInfo Chapter(s) ChapterTitle Paragraph(s) BackMatter References Index 6 2 Content objects in a catalog card Card CallNumber MainEntry TitleStatement TitleProper StatementOfResponsibility Imprint SummaryNote AddedEntrySubject(s) Added EntryPersonalName(s) 7 Semistructured Data Another data model, based on trees. Motivation: flexible representation of data. Often, data comes from multiple sources with differences in notation, meaning, etc. Motivation: sharing of documents among systems and databases.
    [Show full text]
  • Web API Protocol and Security Analysis Web
    EXAMENSARBETE INOM DATATEKNIK, GRUNDNIVÅ, 15 HP STOCKHOLM, SVERIGE 2017 Web API protocol and security analysis Web API protokoll- och säkerhetsanalys CRISTIAN ARAYA MANJINDER SINGH KTH SKOLAN FÖR TEKNIK OCH HÄLSA Web API protocol and security analysis Web API protokoll- och säkerhetsanalys Cristian Araya and Manjinder Singh Degree project in Computer science First level, 15hp Supervisor from KTH: Reine Bergström Examiner: Ibrahim Orhan TRITA-STH 2017:34 KTH The School of Technology and Health 141 52 Flemingsberg, Sweden Abstract There is problem that every company has its own customer portal. This problem can be solved by creating a platform that gathers all customers’ portals in one place. For such platform, it is required a web API protocol that is fast, secure and has capacity for many users. Consequently, a survey of various web API protocols has been made by testing their performance and security. The task was to find out which web API protocol offered high security as well as high performance in terms of response time both at low and high load. This included an investigation of previous work to find out if certain protocols could be ruled out. During the work, the platform’s backend was also developed, which needed to implement chosen web API protocols that would later be tested. The performed tests measured the APIs’ connection time and their response time with and without load. The results were analyzed and showed that the protocols had both pros and cons. Finally, a protocol was chosen that was suitable for the platform because it offered high security and fast connection.
    [Show full text]
  • TU07 XML at The
    ApacheCon 2004 November 2004 XML at the ASF Ted Leung [email protected] Copyright © Sauria Associates, LLC 2004 1 ApacheCon 2004 November 2004 Overview xml.apache.org ws.apache.org Xerces XML-RPC Xalan Axis FOP WSIF Batik JaxMe Xindice cocoon.apache.org Forrest XML-Security Cocoon XML-Commons Lenya XMLBeans Copyright © Sauria Associates, LLC ApacheCon 2004 2 There are three major XML focused projects at the ASF. Originally there was one project, xml.apache.org. Earlier this year, the Cocoon and web services projects were formed. Xml.apache.org contains a number of projects that are general purpose XML tools. Most of these tools are based on specifications from the World Wide Web Consortium. This includes XML itself, XSLT, XSL Formatting object, Scalable Vector Graphics, and XML Signature and XML Encryption The web services project, ws.apache.org contains projects that cluster around standards for dealing with Web Services, including SOAP and XML-RPC The Cocoon project is oriented around the Cocoon Web publishing framework which is basd on XML, XSLT, and a number of other XML related technologies. I’m not going to be able to give you any deep technical details regarding all of these projects. Instead, I’m going to try to describe what these projects are, what standards they implement, and talk about situations where you might use them. Unless I say otherwise, I’m going to be covering the Java projects. There are a few projects which have C/C++ versions and I’ll mention that where applicable. Copyright © Sauria Associates,
    [Show full text]
  • The OWASP Foundation OWASP XML External Entity Attacks (XXE)
    AppSec Germany 2010 XML External Entity Attacks (XXE) Sascha Herzog Compass Security AG [email protected] OWASP +41 55 214 41 78 20.10.2010 Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP Foundation http://www.owasp.org XML External Entity Attacks (XXE), Sacha Herzog AppSec Germany 2010 Agenda Introduction Server2Server Communication – Web Services Client2Server Communication – Web 2.0 (AJAX) XML Basics DTD XML Schema XML Attacks Generator Attacks XML Parser Attacks Mitigation Xerces Hardening OWASP OWASP AppSec Germany 2010 Conference XML External Entity Attacks (XXE), Sacha Herzog AppSec Germany 2010 B2B / Server2Server XML Data Exchange in Web Services B2B integration with XML documents SOAP Services ORDER XML Shop Internet Supplier CONFIRM XML Example Order processing systems OWASP OWASP AppSec Germany 2010 Conference XML External Entity Attacks (XXE), Sacha Herzog AppSec Germany 2010 B2B / Server2Server Example: Web Service Integration of Web Services into portal (Stock Quotes) Data or presentation oriented Remote Portlets can be distinguished. OWASP OWASP AppSec Germany 2010 Conference XML External Entity Attacks (XXE), Sacha Herzog AppSec Germany 2010 XMLHttpRequest / Client2Server XML Data Exchange XMLHttpRequest Object JavaScript OWASP OWASP AppSec Germany 2010 Conference XML External Entity Attacks (XXE), Sacha Herzog AppSec Germany 2010 Web 2.0 - Data Exchange Formats Upstream Data Format Web 2.0 GET & POST(form, txt/xml, soap-xml) Downstream Data Format Web 2.0 html,css,xml,java-script,json,custom OWASP OWASP AppSec Germany 2010 Conference XML External Entity Attacks (XXE), Sacha Herzog AppSec Germany 2010 XML Basics: Introduction XML is a standard for exchanging structured data in textual format <?xml version="1.0" encoding="UTF-8"?> <order> <product>1234</product> <count>1</count> <orderer> <contact>Jan P.
    [Show full text]
  • Securely Streaming SVG Web-Based Electronic Healthcare Records Involving Android Mobile Clients
    146 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 1, NO. 2, NOVEMBER 2009 Securely Streaming SVG Web-Based Electronic Healthcare Records involving Android Mobile Clients Sabah Mohammed and Jinan Fiaidhi Department of Computer Science, Lakehead University, Thunder Bay, Ontario P7B 5E1, Canada {mohammed, jfiaidhi}@lakeheadu.ca Osama Mohammed Department of Software Engineering, Lakehead University, Thunder Bay, Ontario P7B 5E1, Canada [email protected] Abstract— Although Electronic Healthcare Records (EHRs) system to provide it in a paper fashion. Healthcare has technology largely facilitates patient care by providing long relied upon paper based record systems which have clinicians with the ability to review a more complete medical become cumbersome and expensive to manage and record, interoperability and privacy issues present present significant challenges related to speed of significant barriers to their implementation. This article accessibility and security. Thus the emerging benefit of proposes the open source SVG (Scalable Vector Graphics) standard for representing electronic healthcare records for mobile Internet technology to healthcare is to provide interoperability purpose where security can be enforced mobile access to medical records. Again, using mobile using lightweight SAX streaming filters. The SVG filters are technology means that the treatment process can be sped based on the Java SAX API to push pieces of the SVG to the up and the potential for medical errors can be reduced. encryption/decryption handlers. The SAX handlers can With motivations such as patient privacy protection and filter, skip tags, or encrypt tags partially or universally at laws like the US Health Insurance Portability and any time from the stream of the SVG EHRs.
    [Show full text]
  • Guide to XML Web Services Security (PDF)
    Guide to XML Web Services Security XML Application Firewalls for Securing and Monitoring XML Web Services XML Web Services Are Revolutionizing the IT Industry XML and Web Services are simple, but powerful standards that enable applications to more efficiently communicate with each other. Similar to how Internet-based technologies enable person-to-person (email) and person-application communication (web pages), XML Web Services is revolutionizing application-to-application communication. When you send an email, you need not worry about what technologies are being used to send and receive the email. As long as various simple standards are followed, you are ensured the message will be readable by the receiving party regardless of whether they are using Outlook, Unixmail or Yahoo Mail on any platform. XML Web Services enables applications to communicate more effectively without having to work out the underlying mechanics of the communication. However, Web Services standards do not completely address security for XML Web Services. This guide provides you with a quick overview of the security issues related to XML Web Services, what standards are currently in the works and how you can secure communication today. Why are Web Services Potentially Dangerous? The use of XML and Web Services can pose serious risk if security is not properly addressed from the beginning. Current security schemes must be updated to handle the new class of communications that Web Services enables. Current technologies can be used to secure highly controlled Web Service networks but are not able to scale to mission critical environments. Web Services Expose New Security Risks Web Services are designed to tunnel through Network firewalls do not firewalls, evading their usefulness at the application provide protection layer.
    [Show full text]
  • License Information User Manual Oracle® Developer Studio 12.6
    ® License Information User Manual Oracle Developer Studio 12.6 Last Updated: JUNE 2017 Part No: E77805 June 2017 License Information User Manual Oracle Developer Studio 12.6 Part No: E77805 Copyright © 2015, 2017, 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, then the following notice is applicable: U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.
    [Show full text]
  • Exploring the XML World
    Lars Strandén SP Swedish National Testing and Research Institute develops and transfers Exploring the XML World technology for improving competitiveness and quality in industry, and for safety, conservation of resources and good environment in society as a whole. With - A survey for dependable systems Swedens widest and most sophisticated range of equipment and expertise for technical investigation, measurement, testing and certfi cation, we perform research and development in close liaison with universities, institutes of technology and international partners. SP is a EU-notifi ed body and accredited test laboratory. Our headquarters are in Borås, in the west part of Sweden. SP Swedish National Testing and Research Institute SP Swedish National Testing SP Electronics SP REPORT 2004:04 ISBN 91-7848-976-8 ISSN 0284-5172 SP Swedish National Testing and Research Institute Box 857 SE-501 15 BORÅS, SWEDEN Telephone: + 46 33 16 50 00, Telefax: +46 33 13 55 02 SP Electronics E-mail: [email protected], Internet: www.sp.se SP REPORT 2004:04 Lars Strandén Exploring the XML World - A survey for dependable systems 2 Abstract Exploring the XML World - A survey for dependable systems The report gives an overview of and an introduction to the XML world i.e. the definition of XML and how it can be applied. The content shall not be considered a development tutorial since this is better covered by books and information available on the Internet. Instead this report takes a top-down perspective and focuses on the possibilities when using XML e.g. concerning functionality, tools and supporting standards. Getting started with XML is very easy and the threshold is low.
    [Show full text]
  • Open Source Used in Cisco Intelligent Automation for Cloud 4.3
    Open Source Used In Cisco Intelligent Automation for Cloud 4.3 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-96756249 Open Source Used In Cisco Intelligent Automation for Cloud 4.3 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-96756249 Contents 1.1 Apache Ant 1.6.5 1.1.1 Notifications 1.1.2 Available under license 1.2 Apache Commons Lib Apache 2.0 1.2.1 Available under license 1.3 Apache Commons VFS 2.2.0 1.3.1 Available under license 1.4 Apache Jakarta RegExp 1.3 1.4.1 Notifications 1.4.2 Available under license 1.5 Apache XML Commons Resolver 1.2.0 1.5.1 Available under license 1.6 bootstrap 2.3.2 1.6.1 Available under license 1.7 c3 0.4.10 1.8 Castor 0.9.5.4 1.8.1 Available under license 1.9 D3 3.5.6 1.9.1 Available under license 1.10 DOM 20001113 1.10.1 Available under license 1.11 FancyTree 2.11.0 1.11.1 Available under license 1.12 fping 2.4b2 1.12.1 Available under license 1.13 Freemarker 2.3.18 Open Source Used In Cisco Intelligent
    [Show full text]
  • XML and Applications 2014/2015 Lecture 12 – 19.01.2015 Standards for Inter-Document Relations
    Some more XML applications and XML-related standards (XLink, XPointer, XForms) Patryk Czarnik XML and Applications 2014/2015 Lecture 12 – 19.01.2015 Standards for inter-document relations XPointer – addressing documents and their fragments XInclude – logical inclusion of documents within other documents XLink – declarative relations between documents and their fragments 2 / 22 XPointer The standard defines addressing XML documents and their fragments using standard URI syntax: http://www.sejm.gov.pl/ustawa.xml#def-las 3 W3C recommendations dated 2002-2003: XPointer Framework http://www.w3.org/TR/xptr-framework/ XPointer element() Scheme http://www.w3.org/TR/xptr-element/ XPointer xmlns() Scheme http://www.w3.org/TR/xptr-xmlns/ XPointer xpointer() Scheme http://www.w3.org/TR/xptr-xpointer/ (neverending?) Working Draft 3 / 22 XPointer – xpointer scheme xpointer scheme allows to address elements using XPath: http://www.sejm.gov.pl/ustawa.xml#xpointer(/art[5]/par[2]) xmlns scheme adds namespace declarations to the above: ustawa.xml#xmlns(pr=http://www.sejm.gov.pl/prawo) xpointer(/pr:art[5]/pr:par[2]) 4 / 22 XPointer – element scheme Element carrying ID attribute with given value: document.xml#element(def-las) Element with given position (absolute or relative to element carrying ID with given value): document.xml#element(/1/4/3) document.xml#element(def-las/2/3) Short syntax: document.xml#def-las document.xml#/1/4/3 document.xml#def-las/2/3 5 / 22 XInclude Including external XML documents (or their fragments) in another XML document. Similar to entities, but: normal element markup, no special syntax, no need to declare anything in DTD, nor to have DTD at all Main capabilities: including complete documents (identified by URL) or their fragments (pointed by XPointer) including XML tree (default) or raw text defining content to be used in case of an error Supported by many parsers, including Java (JAXP).
    [Show full text]