Triple St Predicate Object

Total Page:16

File Type:pdf, Size:1020Kb

Triple St Predicate Object USOO8447786B2 (12) United States Patent (10) Patent No.: US 8.447,786 B2 Akolkar et al. (45) Date of Patent: May 21, 2013 (54) LANGUAGE EXTENSIONS FOR CREATING, (56) References Cited ACCESSING, QUERYING AND UPDATING RDF DATA U.S. PATENT DOCUMENTS 6.857,124 B1* 2/2005 Doyle ........................... T19.316 (75) Inventors: Rahul P. Akolkar, Tuckahoe, NY (US); 2005, OO60287 A1* 3, 2005 Hellman et al. 707/2 2006/0235823 A1* 10/2006 Chong et al. ....... 707/1 Bruce David Lucas, Mohegan Lake, NY 2006/0265508 A1* 1 1/2006 Angel et al. ....... TO9/230 (US); Charles F. Wiecha, 2006/0271506 A1* 11/2006 Bohannon et al. ................ 707/2 Hastings-on-Hudson, NY (US) 2008, OO27981 A1* 1/2008 Wahl .................. TO7/103 R 2008/O126397 A1* 5/2008 Alexander et al. TO7,102 (73) Assignee: International Business Machines 2009,0300656 A1* 12/2009 Bosworth et al. .. T19,320 Corporation, Armonk, NY (US) 2010.0036788 A1 2/2010 Wu et al. ......................... TO6/47 * cited by examiner (*) Notice: Subject to any disclaimer, the term of this patent is extended or adjusted under 35 Primary Examiner – Pierre Vital U.S.C. 154(b) by 1056 days. Assistant Examiner — Berhanu Mitiku (74) Attorney, Agent, or Firm — Tutunjian & Bitetto, P.C.; (21) Appl. No.: 12/243,161 Louis Percello (22) Filed: Oct. 1, 2008 (57) ABSTRACT (65) Prior Publication Data A method for processing a graph structure includes providing a graph as a set of triples, each triple having a Subject node, a US 201O/OO82651A1 Apr. 1, 2010 predicate, and an object node, the predicate defining a rela tionship between a respective subject node and an object (51) Int. C. node. One of more triples in the set of triples are processed G06F 7700 (2006.01) according to one or more attributes of each triple in the set of G06F 7/30 (2006.01) triples to permit accessing, querying, creating, and updating (52) U.S. C. resource description framework (RDF) data structures in at USPC ........................................... 707/798: 707/807 least one of a Script language and an objectoriented language (58) Field of Classification Search by providing a set of language extensions. None See application file for complete search history. 18 Claims, 2 Drawing Sheets -o 201 2O2 9 2O A. 211 29 y 2OT f 208 210 "bar" 216 212 Y 21 N RDFTripTriple st predicate object/ U.S. Patent May 21, 2013 Sheet 1 of 2 US 8.447,786 B2 Provide graph to represent triples including subject and object nodes and edges that include the relationships therebetween -102 Processing the triples of the graph - 104 Ouery Access Modifying triples triples to graph based on find triples and for attributes that satisfy triples Criteria 112 106 108 Generate a hit list 110 Navigate graph using forward and backward navigation - 114 FIG. 1 U.S. Patent May 21, 2013 Sheet 2 of 2 US 8.447,786 B2 / 2OO 2O1 2O2 " ' b b 9 fod- - R2 2O 4. 211 205 209 d e y 2O7 f 208 R4 210 bar 2 O S.s FIG.2 US 8.447,786 B2 1. 2 LANGUAGE EXTENSIONS FOR CREATING, ECMA-357 standard, defining an extension to ECMAScript, ACCESSING, QUERYING AND UPDATING known as E4X (ECMAScript for XML). RDF DATA SUMMARY BACKGROUND A method for processing a graph structure includes pro 1. Technical Field viding a graph as a set of triples, each triple having a subject The present invention relates to data structures and more node, a predicate, and an object node, the predicate defining a particularly to mechanisms for extending languages to pro relationship between a respective subject node and an object vide compatibility with resource description framework node. One of more triples in the set of triples are processed (RDF) data. according to one or more attributes of each triple in the set of 2. Description of the Related Art triples to permit accessing, querying, creating, and updating resource description framework (RDF) data structures in at Resource Description Framework (RDF) is a family of least one of a script language and an object oriented language World Wide Web Consortium (W3C) specifications, origi 15 by providing a set of language extensions. nally designed as a metadata data model, which has come to These and other features and advantages will become be used as a general method of modeling information through apparent from the following detailed description of illustra a variety of syntax formats. The RDF metadata model is based tive embodiments thereof, which is to be read in connection upon the idea of making statements about Web resources in with the accompanying drawings. the form of Subject-predicate-object expressions, called triples in RDF terminology. The subject denotes the resource, BRIEF DESCRIPTION OF DRAWINGS and the predicate denotes traits or aspects of the resource and expresses a relationship between the Subject and the object. The disclosure will provide details in the following For example, one way to represent the notion “The fox is the description of preferred embodiments with reference to the color red in RDF is as the triple: a subject denoting “the fox'. 25 following figures wherein: a predicate denoting “is the color, and an object denoting FIG. 1 is a block/flow diagram showing a system/method “red'. RDF is an abstract model with several serialization for creating, accessing, querying and updating RDF data in formats (i.e., file formats), and so the particular way in which accordance with the present principles; and a resource or triple is encoded varies from format to format. FIG. 2 is a graph showing an RDF graph and triple store The mechanism for describing resources is an evolutionary 30 table creating, accessing, querying and updating RDF data in stage of the World Wide Web in which automated software accordance with the present principles. can store, exchange, and use machine-readable information distributed throughout the Web, in turn enabling users to deal DETAILED DESCRIPTION OF PREFERRED with the information with greater efficiency and certainty, EMBODIMENTS RDF's simple data model and ability to model disparate, 35 abstract concepts has also led to its increasing use in knowl The present principles provide a set of language extensions edge management applications unrelated to Semantic Web to ECMAScript for accessing, querying, creating, and updat activity. ing resource description framework (RDF) data structures. RDF is an increasingly popular data and knowledge repre The language features are based on existing E4X ECMAS sentation language. It is highly flexible, relatively low-level. 40 cript language features for accessing, querying, creating, and and fundamentally distributed, which makes it suitable for updating XML data structures. In this disclosure, for ease of representing a wide range of data on the web. However, while reference, we refer to the ECMAScript language features for the RDF data model may be used as the basis for a complete accessing RDF data as E4R in accordance with the present programming model, this is possible only if the programming principles. E4R enriches ECMAScript with easy native model has a set of features that provide simple, easy to use 45 access to RDF data in environments where Javascript or access to underlying RDF data. ECMAScript are used. E4R provides a user-friendly query The subject of an RDF statement is a resource, possibly as language for RDF data, and allows RDF data to be accessed named by a Uniform Resource Identifier (URI). Some using familiar path-oriented navigation expressions. resources are unnamed and are called blank nodes or anony Embodiments of the present invention can take the form of mous resources. They are not directly identifiable. The predi 50 an entirely hardware embodiment, an entirely software cate is a resource as well, representing a relationship. The embodiment or an embodiment including both hardware and object is a resource. A Uniform Resource Locator (URL) is a software elements. In a preferred embodiment, the present URI that in addition to identifying a resource, provides away invention is implemented in software, which includes but is of locating the resource by describing its primary access not limited to firmware, resident Software, microcode, etc. mechanism (e.g., its network location). It is necessary for 55 Furthermore, the invention can take the form of a computer producers and consumers of RDF statements to be in agree program product accessible from a computer-usable or com ment on the semantics of resource identifiers. Such agreement puter-readable medium providing program code for use by or is not inherent to RDF itself. in connection with a computer or any instruction execution Despite the advantages of using RDF, many languages system. For the purposes of this description, a computer cannot make use of RDF or aspects of RDF. For example, 60 usable or computer readable medium can be any apparatus ECMAScript and language features used in programming that may include, store, communicate, propagate, or transport browsers encounter problems. For example, JavaScript, the program for use by or in connection with the instruction ECMAScript, cannot be used conveniently with RDF graph execution system, apparatus, or device. The medium can be structures. ECMAScript, E4X and JavaScript, cannot be used an electronic, magnetic, optical, electromagnetic, infrared, or for distributed RDF data structures. Object oriented lan 65 semiconductor system (or apparatus or device) or a propaga guages cannot conveniently use distributed RDF data struc tion medium. Examples of a computer-readable medium tures on the web. (Note ECMA International published the include a semiconductor or Solid state memory, magnetic US 8.447,786 B2 3 4 tape, a removable computer diskette, a random access the lexical range of URIs is different from the lexical range of memory (RAM), a read-only memory (ROM), a rigid mag ECMAScript identifiers, the Xp’ representation may be netic disk and an optical disk.
Recommended publications
  • International Standard Iso 32000-2
    This preview is downloaded from www.sis.se. Buy the entire standard via https://www.sis.se/std-922178 INTERNATIONAL ISO STANDARD 32000-2 First edition 2017-07 Document management — Portable document format — Part 2: PDF 2.0 Gestion de documents — Format de document portable — Partie 2: PDF 2.0 Reference number ISO 32000-2:2017(E) © ISO 2017 This preview is downloaded from www.sis.se. Buy the entire standard via https://www.sis.se/std-922178 ISO 32000-2:2017(E) COPYRIGHT PROTECTED DOCUMENT © ISO 2017, Published in Switzerland All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized otherwise in any form orthe by requester. any means, electronic or mechanical, including photocopying, or posting on the internet or an intranet, without prior written permission. Permission can be requested from either ISO at the address below or ISO’s member body in the country of Ch. de Blandonnet 8 • CP 401 ISOCH-1214 copyright Vernier, office Geneva, Switzerland Tel. +41 22 749 01 11 Fax +41 22 749 09 47 www.iso.org [email protected] ii © ISO 2017 – All rights reserved This preview is downloaded from www.sis.se. Buy the entire standard via https://www.sis.se/std-922178 ISO 32000-2:2017(E) Contents Page Foreword ................................................................................................................................................................. vii Introduction .........................................................................................................................................................
    [Show full text]
  • Ecma International External Liaison Report for 2013-2014
    Ecma/TC39/2014/029 Ecma/TC49/2014/010 Ecma International External Liaison Report for 2013–2014 Prepared for the ISO/IEC JTC 1/SC 22 Plenary in Madrid, Spain September 8–9, 2014 Prepared by Rex Jaeschke [email protected] Date: 2014-07-17 Recommendation to SC 22 regarding the Portable Common Tool Environment (PCTE) Standards The draft agenda for the 2014 Plenary of SC 22 lists the following standards as being up for Periodic Review: • ISO/IEC 13719-1:1998 Information technology -- Portable Common Tool Environment (PCTE) – Part 1: Abstract specification • ISO/IEC 13719-2:1998 Information technology -- Portable Common Tool Environment (PCTE) – Part 2: C programming language binding • ISO/IEC 13719-3:1998 Information technology -- Portable common tool environment (PCTE) – Part 3: Ada programming language binding • ISO/IEC 13719-4:1998 Information technology -- Portable Common Tool Environment (PCTE) – Part 4: IDL binding (Interface Definition Language) These standards were developed and published by Ecma, and then Fast-Tracked to JTC 1. No work has been done on them since and there is no longer a Technical Committee for PCTE. As such, Ecma recommends that SC 22 stabilize these standards. Ecma (www.ecma-international.org) currently has two Technical Committees, TC39 and TC49 (the latter having multiple Task Groups), with SC 22-related projects, as follows: 1. TC39 (ECMAScript language): ECMAScript 5th edition was adopted by the Ecma General Assembly in December 2009, and then published as ISO/IEC 16262:2011 (which ECMA-262 edition 5.1 now matches). The editor of record for the standard is Allen Wirfs-Brock.
    [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]
  • Download and Execution, Along with Metadata That Dr
    Table of Contents Preface 5 Purpose and Membership 7 Ecma's role in International Standardization 9 Organization of Ecma International* 10 General Assembly 13 Ordinary members 14 Associate members 16 SME members 17 SPC members 18 Not-for-Profit members 19 Technical Committees 21 Index of Ecma Standards 57 Ecma Standards and corresponding International and European Standards 61 Technical Reports 81 List of Representatives 84 Ecma By-laws 139 Ecma Rules 146 Code of Conduct in Patent Matters 151 Withdrawn Ecma Standards and Technical Reports 153 History of Ecma International 165 Past Presidents / Secretary General 166 * Often called Ecma, or ECMA (in the past), short for Ecma International. - 3 - Preface Information Technology, Telecommunications and Consumer Electronics are key factors in today's economic and social environment. Effective interchange both of commercial, technical, and administrative data, text and images and of audiovisual information is essential for the growth of economy in the world markets. Through the increasing digitalization of information technology, telecommunications and consumer electronics are getting more and more integrated. Open Systems and Distributed Networks based on worldwide recognized standards will not only provide effective interchange of information but also help to remove technical barriers to trade. In particular harmonized standards are recognized as a prerequisite for the establishment of the European economic area. From 1961 until 1994, ECMA (European Computer Manufacturers Association), then Ecma International (Ecma, for short) has actively contributed to worldwide standardization in information technology, communications and consumer electronics (ICT and CE). More than 380 Ecma Standards and 90 Technical Reports of high quality have been published.
    [Show full text]
  • Ecma Template for Minutes
    Memento 2010 Table of Contents Preface 2 Purpose and Membership 3 Ecma's role in International Standardization 4 Organization of Ecma International* 5 General Assembly 7 Ordinary members 8 Associate members 9 SME members 10 SPC members 11 Not-for-Profit members 12 Technical Committees 14 Index of Ecma Standards 45 Ecma Standards and corresponding International and European Standards 48 Technical Reports 63 List of Representatives 66 Ecma By-laws 109 Ecma Rules 115 Code of Conduct in Patent Matters 119 Withdrawn Ecma Standards and Technical Reports 121 History of Ecma International 129 About the Ecma Mementos 130 Past Presidents / Secretaries General 131 * Often called Ecma, or ECMA (in the past), short for Ecma International. Ecma International Rue du Rhône 114 CH-1204 Geneva T/F: +41 22 849 6000/01 www.ecma-international.org IW Memento10.doc 20/01/2010 15:49:00 For Ecma use only Preface Information Technology, Telecommunications and Consumer Electronics are key factors in today's economic and social environment. Effective interchange both of commercial, technical, and administrative data, text and images and of audiovisual information is essential for the growth of economy in the world markets. Through the increasing digitalization of information technology, telecommunications and consumer electronics are getting more and more integrated. Open Systems and Distributed Networks based on worldwide recognized standards will not only provide effective interchange of information but also help to remove technical barriers to trade. In particular harmonized standards are recognized as a prerequisite for the establishment of the European economic area. From 1961 until 1994, ECMA (European Computer Manufacturers Association), then Ecma International (Ecma, for short) has actively contributed to worldwide standardization in information technology, communications and consumer electronics (ICT and CE).
    [Show full text]
  • Download Slides
    Mozilla Rhino Attila Szegedi @asz Thursday, October 13, 11 History • One of the oldest non-Java language runtimes on the JVM • Originally part of Mozilla’s all-Java browser project from 1997. • Has its own bytecode generator engine from day one. Thursday, October 13, 11 What is it? • It’s just JavaScript: • you can run any JavaScript program on top of it. • It’s more than JavaScript: • it integrates with the JVM. You can use Java objects and libraries. Thursday, October 13, 11 Compatibility • Most of ECMAScript 5 • Everything except strict mode • Full JS1.7 (and earlier) support • Partial JS 1.8 support • expression closures, destructuring assignment • no generator expressions • ECMAScript for XML (E4X) • JSON parser/stringifier Thursday, October 13, 11 What it isn’t? • It isn’t a browser JavaScript runtime: • Doesn’t come with HTML DOM out of the box. • HtmlUnit project can be used if that’s needed. Thursday, October 13, 11 Optimization settings • Three optimization levels: • -1: pure interpreter • 0: bytecode compiler; no optimizations • 9: bytecode compiler with optimizations Thursday, October 13, 11 Optimization settings • Let’s compare them using fib(30) function time(f) { t1 = java.lang.System.currentTimeMillis() f() t2 = java.lang.System.currentTimeMillis() print(t2 - t1) } function fib(n) { return n < 2 ? n : fib(n-1) + fib(n-2) } time(function() { fib(30) }) Thursday, October 13, 11 Optimization settings • Let’s compare them using fib(30) • Interpreted took 14 seconds • Opt 0 took 0.9 seconds • Opt 9 took 0.3 seconds Thursday, October 13, 11 When to use which? • Opt 9 in most cases • Opt 0 - don’t really have a modern use case for it • Opt -1: constrained devices, environments that don’t allow you to load generated bytecode at runtime, or when you need continuations*.
    [Show full text]
  • Code Injection Vulnerabilities in Web Applications - Exemplified at Cross-Site Scripting Martin Johns
    Dissertation zur Erlangung des akademischen Grades eines Doktors der Naturwissenschaften Code Injection Vulnerabilities in Web Applications - Exemplified at Cross-site Scripting Martin Johns Eingereicht an der Fakult¨atf¨urInformatik und Mathematik der Universit¨atPassau Gutachter: Prof. Dr. Joachim Posegga Prof. Dr. Dieter Gollmann Submitted April 14th 2009, defended July 22nd 2009 2 Abstract The majority of all security problems in today’s Web applications is caused by string- based code injection, with Cross-site Scripting (XSS) being the dominant representative of this vulnerability class. This thesis discusses XSS and suggests defense mechanisms. We do so in three stages: First, we conduct a thorough analysis of JavaScript’s capabilities and explain how these capabilities are utilized in XSS attacks. We subsequently design a systematic, hierarchical classification of XSS payloads. In addition, we present a comprehensive sur- vey of publicly documented XSS payloads which is structured according to our proposed classification scheme. Secondly, we explore defensive mechanisms which dynamically prevent the execution of some payload types without eliminating the actual vulnerability. More specifically, we discuss the design and implementation of countermeasures against the XSS payloads “Session Hijacking”, “Cross-site Request Forgery”, and attacks that target intranet re- sources. We build upon this and introduce a general methodology for developing such countermeasures: We determine a necessary set of basic capabilities an adversary needs for successfully executing an attack through an analysis of the targeted payload type. The resulting countermeasure relies on revoking one of these capabilities, which in turn renders the payload infeasible. Finally, we present two language-based approaches that prevent XSS and related vul- nerabilities: We identify the implicit mixing of data and code during string-based syn- tax assembly as the root cause of string-based code injection attacks.
    [Show full text]
  • NATO Interoperability Standards and Profiles
    NISP Volume 1 ADatP-34(K)-REV1 Allied Data Publication 34 (ADatP-34(K)) NATO Interoperability Standards and Profiles Volume 1 Introduction (Version 11) 3 Aug 2018 C3B Interoperability Profiles Capability Team NISP Volume 1 ADatP-34(K)-REV1 NISP Volume 1 ADatP-34(K)-REV1 Table of Contents 1. Introduction .......................................................................................................................... 1 1.1. Purpose of the NISP ................................................................................................. 3 1.2. Intended Audience ..................................................................................................... 3 2. Basic Concepts ..................................................................................................................... 5 2.1. Standards ................................................................................................................... 5 2.2. STANAG ................................................................................................................... 5 2.3. Interoperability Profiles ............................................................................................. 5 2.4. Basic Standards Profile ............................................................................................. 6 2.5. Creating relationships to other concepts and planning objects within NATO .......... 7 2.5.1. Architecture Building Block .......................................................................... 7 2.5.2. FMN Spiral Specifications
    [Show full text]
  • Vrealize Orchestrator 8.2 Plug-Ins
    Using VMware vRealize Orchestrator 8.2 Plug-Ins 15 MARCH 2021 vRealize Orchestrator 8.2 Using VMware vRealize Orchestrator 8.2 Plug-Ins You can find the most up-to-date technical documentation on the VMware website at: https://docs.vmware.com/ VMware, Inc. 3401 Hillview Ave. Palo Alto, CA 94304 www.vmware.com © Copyright 2008-2021 VMware, Inc. All rights reserved. Copyright and trademark information. VMware, Inc. 2 Contents Using VMware vRealize Orchestrator Plug-Ins 9 1 Introduction to vRealize Orchestrator Plug-Ins 10 vRealize Orchestrator Architecture 11 Plug-Ins Installed with the vRealize Orchestrator Server 11 Access the vRealize Orchestrator API Explorer 14 Time Zone Codes 15 2 Configure the vRealize Orchestrator Plug-Ins 18 Manage vRealize Orchestrator Plug-Ins 18 Install or Update a vRealize Orchestrator Plug-In 19 Delete a Plug-In 19 3 Using the Active Directory Plug-In 21 Configuring the Active Directory Plug-In 21 Using the Active Directory Plug-In Workflow Library 22 Computer Workflows 22 Organizational Unit Workflows 22 User Workflows 23 User Group Workflows 23 Client-Side Load Balancing for the Active Directory Plug-In 24 4 Using the AMQP Plug-In 25 Configuring the AMQP Plug-In 25 Add a Broker 25 Subscribe to Queues 26 Update a Broker 27 Using the AMQP Plug-In Workflow Library 27 Declare a Binding 28 Declare a Queue 28 Declare an Exchange 29 Send a Text Message 30 Delete a Binding 31 5 Using the Configuration Plug-In 32 6 Using the Dynamic Types Plug-In 34 Dynamic Types Configuration Workflows 34 VMware, Inc.
    [Show full text]
  • Final Draft 2Nd Edition of ECMA-357
    ECMA-357 2nd Edition / December 2005 ECMAScript for XML (E4X) Specification Standard ECMA-357 nd 2 Edition / December 2005 ECMAScript for XML (E4X) Specification Ecma International Rue du Rhône 114 CH-1204 Geneva T/F: +41 22 849 6000/01 www.ecma-international.org . Introduction On 13 June 2002, a group of companies led by BEA Systems proposed a set of programming language extensions adding native XML support to ECMAScript (ECMA-262). The programming language extensions were designed to provide a simple, familiar, general purpose XML programming model that flattens the XML learning curve by leveraging the existing skills and knowledge of one of the largest developer communities worldwide. The benefits of this XML programming model include reduced code complexity, tighter revision cycles, faster time to market, decreased XML footprint requirements and looser coupling between code and XML data. The ECMAScript group (Ecma TC39-TG1) unanimously agreed to the proposal and established a sub-group to standardize the syntax and semantics of a general purpose, cross platform, vendor neutral set of programming language extensions called ECMAScript for XML (E4X). The development of this Standard started on 8 August 2002. This Standard was developed as an extension to ECMAScript Edition 3, but may be applied to other versions of ECMAScript as well. This Standard adds native XML datatypes to the ECMAScript language, extends the semantics of familiar ECMAScript operators for manipulating XML data and adds a small set of new operators for common XML operations, such as searching and filtering. It also adds support for XML literals, namespaces, qualified names and other mechanisms to facilitate XML processing.
    [Show full text]
  • ECMA-357 Ecmascript for XML (E4X) Specification
    ECMA-357 1st Edition / June 2004 ECMAScript for XML (E4X) Specification Standard ECMA-357 st 1 Edition / June 2004 ECMAScript for XML (E4X) Specification Brief History On 13 June 2002, a group of companies led by BEA Systems proposed a set of programming language extensions adding native XML support to ECMAScript (ECMA-262). The programming language extensions were designed to provide a simple, familiar, general purpose XML programming model that flattens the XML learning curve by leveraging the existing skills and knowledge of one of the largest developer communities worldwide. The benefits of this XML programming model include reduced code complexity, tighter revision cycles, faster time to market, decreased XML footprint requirements and looser coupling between code and XML data. The ECMAScript group (Ecma TC39-TG1) unanimously agreed to the proposal and established a sub-group to standardize the syntax and semantics of a general purpose, cross platform, vendor neutral set of programming language extensions called ECMAScript for XML (E4X). The development of this Standard started on 8 August 2002. This Standard was developed as an extension to ECMAScript Edition 3, but may be applied to other versions of ECMAScript as well. This Standard adds native XML datatypes to the ECMAScript language, extends the semantics of familiar ECMAScript operators for manipulating XML data and adds a small set of new operators for common XML operations, such as searching and filtering. It also adds support for XML literals, namespaces, qualified names and other mechanisms to facilitate XML processing. This Standard will be integrated into future editions of ECMA-262 (ECMAScript). The ECMAScript group is working on significant enhancements for future editions of the ECMAScript language, including mechanisms for defining XML types using the XML Schema language and support for classes.
    [Show full text]
  • CGT 353: Principles of Interactive and Dynamic Media XML and E4X with Actionscript 3.0
    CGT 353: Principles of Interactive and Dynamic Media XML and E4X with ActionScript 3.0 Intro: • Flash has had the ability to work with XML since AS 1.0 • In AS 2.0, we use the XML class, which was based on the W3C Document Object Model (DOM) • As with most other things in AS 3.0, the toolset for manipulating XML has been changed. • AS 3.0 now uses ECMAScript for XML…also known as E4X • E4X is an official ECMA-262 extension for working with XML as a native datatype • Used to improve the integration of XML with scripting languages like JavaScript and ActionScript XML data offers several advantages over URL-encoded data, including: • When creating XML manually (for a static XML document) or programmatically (from a ColdFusion script, PHP script, etc.), it is much easier to represent complex data. • Most server-side scripting languages offer built-in functionality for reading and generating XML data. • XML is a standard used for the transfer and storage of data across all kinds of applications and platforms. An XML Review: • Take the following code from the text: <BOOK ISBN="0141182806"> <TITLE>Ulysses</TITLE> <AUTHOR>Joyce, James</AUTHOR> <PUBLISHER>Penguin Books Ltd</PUBLISHER> </BOOK> • Nodes, parents, children, attributes, elements…heard it before. • What’s the first child node of <BOOK>? • That’s right…it’s the first insignificant whitespace. • In E4X, whitespace counts: o carriage return (\u000D) o space (\u0020) o line feed (\u000A) o tab (\u0009) • So technically <BOOK> has seven nodes, not four. • By default whitespace nodes are ignored by the E4X parser, so we don’t really have to worry about it.
    [Show full text]