Web Programming(2) Omid Jafarinezhad

Total Page:16

File Type:pdf, Size:1020Kb

Web Programming(2) Omid Jafarinezhad Lesson: Web Programming(2) Omid Jafarinezhad Sharif University of Technology ● HTTP, JavaScript, CSS, HTML5, ReactJs, Flow, Progressive Web App ● Golang, NodeJs, MongoDB, PostgreSQL, Redis ● Docker, Git, YUIDoc, Jest, Materials WebPack, Gulp, Browserify, Locust ● (Optional/Research) Kubernetes, InfluxDB, RabbitMQ, gRPC, Ansible XML eXtensible Markup Language It was designed to store and transport data It was designed to be both human- and machine-readable XML Does Not Use Predefined Tags ● HTML works with predefined tags like <p>, <h1>, <table>, etc XML syntax XML Documents Must Have a Root Element The XML Prolog All XML Elements Must Have a Closing Tag XML Tags are Case Sensitive XML syntax (2) XML Elements Must be Properly Nested XML elements can have attributes in name/value pairs Some characters have a special meaning X XML syntax (3) Special character Comments XML Namespaces Element names are defined by the developer. This often results in a conflict when trying to mix XML documents from different XML applications A Uniform Resource Identifier (URI) is a string of characters which identifies an Internet Resource The namespace declaration has the following syntax. xmlns:prefix="URI" Document Object Model (DOM) DOM is a platform and language-neutral interface that allows programs and scripts to dynamically access and update the content, structure, and style of a document -- ch02-01.html XSLT, XPath, XQuery XSLT (eXtensible Stylesheet Language Transformations) standard ● It can transform an XML document into HTML ● It is a styling language for XML ● XQuery is the language for querying XML data ● XQuery is to XML what SQL is to databases ● XPath is a major element in the XSLT ● XPath can be used to navigate through elements and attributes in an XML document ○ XPath uses path expressions to navigate in XML documents XSLT example --ch02-02-css.xml --ch02-02.xml XPath example //*[@id="tsf"]/div[2]/div[3]/center/input[1] [@id="tsf"] div[2] div[3] center input[1] XML DTD An XML document with correct syntax is called "Well Formed" An XML document validated against a DTD is both "Well Formed" and "Valid" The purpose of a DTD is to define the structure of an XML document JavaScript Object Notation (Json) JSON is a lightweight text-based open standard designed for human-readable data interchange Web services and APIs use JSON format to provide public data JSON is language independent and filename extension is .json Data is represented in name/value pairs ● Curly braces hold objects and each name is followed by ':'(colon), the name/value pairs are separated by , (comma) ● Square brackets hold arrays and values are separated by ,(comma) JSON DataTypes Number, String, Boolean, Array, an object (JSON object), null HTML History 1989 Tim Berners-Lee invented www 1991 Tim Berners-Lee invented HTML 1993 Dave Raggett drafted HTML+ 1995 HTML Working Group defined HTML 2.0 1997 W3C Recommendation: HTML 3.2 1999 W3C Recommendation: HTML 4.01 2000 W3C Recommendation: XHTML 1.0 2008 WHATWG HTML5 First Public Draft 2012 WHATWG HTML5 Living Standard 2014 W3C Recommendation: HTML5 2016 W3C Candidate Recommendation: HTML 5.1 Hyper Text Markup Language (HTML) HTML elements are the building blocks of HTML pages Browsers do not display the HTML tags, but use them to render the content of the page HTML tags are not case sensitive: <P> means the same as <p> ● but W3C recommends lowercase in HTM --ch02-04.html HTML Headings --ch02-05.html HTML Paragraphs --ch02-06.html Do Not Forget the End Tag Some HTML elements will display correctly, even if you forget the end tag Line break <br> is an empty element --ch02-07.html HTML Attributes Attributes provide additional information about HTML elements Double quotes around attribute values are the most common in HTML, but single quotes can also be used HTML Attributes (2) By default, SGML requires that all attribute values be delimited using either double quotation marks (ASCII decimal 34) or single quotation marks (ASCII decimal 39). Single quote marks can be included within the attribute value when the value is delimited by double quote marks, and vice versa. Authors may also use numeric character references to represent double quotes (&#34;) and single quotes (&#39;). For double quotes authors can also use the character entity reference &quot;. [ref] https://www.w3.org/TR/html4/intro/sgmltut.html#h-3.2.2 HTML Horizontal Rules --ch02-08.html HTML <pre> Element text inside a <pre> element is displayed in a fixed-width font (usually Courier), and it preserves both spaces and line breaks --ch02-09.html The HTML Style Attribute --ch02-10.html HTML Fonts --ch02-11.html HTML Text Size --ch02-12.html HTML Text Alignment --ch02-13.html HTML Text Formatting Elements <b> Defines bold text; There is no semantic meaning <em> Defines emphasized text, with added semantic importance <i> Defines italic text; There is no semantic meaning <small> Defines smaller text <strong> Defines important text, with added semantic importance <sub> Defines subscripted text <sup> Defines superscripted text <ins> Defines inserted text <del> Defines deleted text <mark> Defines marked/highlighted text --ch02-14.html HTML Quotation and Citation Elements <abbr> Defines an abbreviation or acronym <address> Defines contact information. displayed in italic. Most browsers will add a line break before and after the element <bdo> Defines the text direction <blockquote> Defines a section that is quoted from another source, usually indent the element <cite> Defines the title of a work, usually display in italic <q> Defines a short inline quotation --ch02-15.html HTML Comment Tags Conditional Comments HTML Images Images (including GIF) are defined with the <img> tag The alt attribute provides an alternate text for an image, if the user for some reason cannot view it (because of slow connection, an error in the src attribute, etc.) width and height attributes, values are specified in pixels by default --ch02-16.html image-map is an image with clickable areas The <picture> Element HTML5 introduced the <picture> element to add more flexibility when specifying image resources The <picture> element contains a number of <source> elements, each referring to different image sources. This way the browser can choose the image that best fit the current view and/or device ● Each <source> element have attributes describing when their image is the most suitable Always specify an <img> element as the last child element of the <picture> element. The <img> element is used by browsers that do not support the <picture> element, or if none of the <source> tags matched Resize browser HTML Links - Hyperlinks Links can be absolute URL (A full web address) or relative URL (link to the same web site) The target Attribute ● _blank: Opens the linked document in a new window or tab ● _self: Opens the linked document in the same window/tab as it was clicked (this is default) ● _parent: Opens the linked document in the parent frame (immediate) ● _top: Opens the linked document in the full body of the window ● framename: Opens the linked document in a named frame --ch02-17.html Unordered HTML List --ch02-18.html Choose List Item Marker disc bullet list item marker (default) circle circle list item marker square square list item marker none The list items will not be marked Ordered HTML List --ch02-19.html Ordered HTML List - The Type Attribute type="1" The list items will be numbered with numbers (default) type="A" The list items will be numbered with uppercase letters type="a" The list items will be numbered with lowercase letters type="I" The list items will be numbered with uppercase roman numbers type="i" The list items will be numbered with lowercase roman numbers HTML Description Lists --ch02-20.html Nested HTML Lists Horizontal Lists HTML Block Elements A block-level element always starts on a new line and takes up the full width available (stretches out to the left and right as far as it can) Examples of block-level elements: ● <div> ● <h1> - <h6> ● <p> ● <form> HTML Inline Elements An inline element does not start on a new line and only takes up as much width as necessary Examples of block-level elements: ● <span> ● <a> ● <img> The <div> Element The <div> element is often used as a container for other HTML elements --ch02-21.html --ch02-21.html --ch02-22.html ● They are used to group together a chunk of HTML and hook some information onto that chunk (id, class, etc.) ● The difference between span and div is that a span element is in-line and usually used for a small chunk of HTML inside a line (such as inside a paragraph) whereas a div (division) element is block-line (which is basically equivalent to having a line-break before and after it and used to group larger chunks of code HTML Tables An HTML table is defined with the <table> tag Each table row is defined with the <tr> tag A table header is defined with the <th> tag ● By default, table headings are bold and centered A table data/cell is defined with the <td> tag The <caption> tag defines a table caption ● The <caption> tag must be inserted immediately after the <table> tag --ch02-23.html --ch02-24.html --ch02-25.html --ch02-26.html --ch02-27.html --ch02-28.html HTML head Elements The <head> element is a container for metadata (data about data) and is placed between the <html> tag and the <body> tag Metadata is not displayed Metadata typically define the document title, character set, styles, links, scripts, and other meta information ● <title>, <style>, <meta>, <link>, <script>, and <base> The HTML <title> Element defines
Recommended publications
  • SPARQL with Xquery-Based Filtering?
    SPARQL with XQuery-based Filtering? Takahiro Komamizu Nagoya University, Japan [email protected] Abstract. Linked Open Data (LOD) has been proliferated over vari- ous domains, however, there are still lots of open data in various format other than RDF, a standard data description framework in LOD. These open data can also be connected to entities in LOD when they are as- sociated with URIs. Document-centric XML data are such open data that are connected with entities in LOD as supplemental documents for these entities, and to convert these XML data into RDF requires various techniques such as information extraction, ontology design and ontology mapping with human prior knowledge. To utilize document-centric XML data linked from entities in LOD, in this paper, a SPARQL-based seam- less access method on RDF and XML data is proposed. In particular, an extension to SPARQL, XQueryFILTER, which enables XQuery as a filter in SPARQL is proposed. For efficient query processing of the combination of SPARQL and XQuery, a database theory-based query optimization is proposed. Real-world scenario-based experiments in this paper showcase that effectiveness of XQueryFILTER and efficiency of the optimization. 1 Introduction Open data movement is a worldwide movement that data are published online with FAIR principle1. Linked Open Data (LOD) [4] started by Sir Tim Berners- Lee is best aligned with this principle. In LOD, factual records are represented by a set of triples consisting of subject, predicate and object in the form of a stan- dardized representation framework, RDF (Resource Description Framework) [5]. Each element in RDF is represented by network-accessible identifier called URI (Uniform Resource Identifier).
    [Show full text]
  • 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]
  • QUERYING JSON and XML Performance Evaluation of Querying Tools for Offline-Enabled Web Applications
    QUERYING JSON AND XML Performance evaluation of querying tools for offline-enabled web applications Master Degree Project in Informatics One year Level 30 ECTS Spring term 2012 Adrian Hellström Supervisor: Henrik Gustavsson Examiner: Birgitta Lindström Querying JSON and XML Submitted by Adrian Hellström to the University of Skövde as a final year project towards the degree of M.Sc. in the School of Humanities and Informatics. The project has been supervised by Henrik Gustavsson. 2012-06-03 I hereby certify that all material in this final year project which is not my own work has been identified and that no work is included for which a degree has already been conferred on me. Signature: ___________________________________________ Abstract This article explores the viability of third-party JSON tools as an alternative to XML when an application requires querying and filtering of data, as well as how the application deviates between browsers. We examine and describe the querying alternatives as well as the technologies we worked with and used in the application. The application is built using HTML 5 features such as local storage and canvas, and is benchmarked in Internet Explorer, Chrome and Firefox. The application built is an animated infographical display that uses querying functions in JSON and XML to filter values from a dataset and then display them through the HTML5 canvas technology. The results were in favor of JSON and suggested that using third-party tools did not impact performance compared to native XML functions. In addition, the usage of JSON enabled easier development and cross-browser compatibility. Further research is proposed to examine document-based data filtering as well as investigating why performance deviated between toolsets.
    [Show full text]
  • Scraping HTML with Xpath Stéphane Ducasse, Peter Kenny
    Scraping HTML with XPath Stéphane Ducasse, Peter Kenny To cite this version: Stéphane Ducasse, Peter Kenny. Scraping HTML with XPath. published by the authors, pp.26, 2017. hal-01612689 HAL Id: hal-01612689 https://hal.inria.fr/hal-01612689 Submitted on 7 Oct 2017 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Scraping HTML with XPath Stéphane Ducasse and Peter Kenny Square Bracket tutorials September 28, 2017 master @ a0267b2 Copyright 2017 by Stéphane Ducasse and Peter Kenny. The contents of this book are protected under the Creative Commons Attribution-ShareAlike 3.0 Unported license. You are free: • to Share: to copy, distribute and transmit the work, • to Remix: to adapt the work, Under the following conditions: Attribution. You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under the same, similar or a compatible license. For any reuse or distribution, you must make clear to others the license terms of this work.
    [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]
  • XPATH in NETCONF and YANG Table of Contents
    XPATH IN NETCONF AND YANG Table of Contents 1. Introduction ............................................................................................................3 2. XPath 1.0 Introduction ...................................................................................3 3. The Use of XPath in NETCONF ...............................................................4 4. The Use of XPath in YANG .........................................................................5 5. XPath and ConfD ...............................................................................................8 6. Conclusion ...............................................................................................................9 7. Additional Resourcese ..................................................................................9 2 XPath in NETCONF and YANG 1. Introduction XPath is a powerful tool used by NETCONF and YANG. This application note will help you to understand and utilize this advanced feature of NETCONF and YANG. This application note gives a brief introduction to XPath, then describes how XPath is used in NETCONF and YANG, and finishes with a discussion of XPath in ConfD. The XPath 1.0 standard was defined by the W3C in 1999. It is a language which is used to address the parts of an XML document and was originally design to be used by XML Transformations. XPath gets its name from its use of path notation for navigating through the hierarchical structure of an XML document. Since XML serves as the encoding format for NETCONF and a data model defined in YANG is represented in XML, it was natural for NETCONF and XML to utilize XPath. 2. XPath 1.0 Introduction XML Path Language, or XPath 1.0, is a W3C recommendation first introduced in 1999. It is a language that is used to address and match parts of an XML document. XPath sees the XML document as a tree containing different kinds of nodes. The types of nodes can be root, element, text, attribute, namespace, processing instruction, and comment nodes.
    [Show full text]
  • Pearls of XSLT/Xpath 3.0 Design
    PEARLS OF XSLT AND XPATH 3.0 DESIGN PREFACE XSLT 3.0 and XPath 3.0 contain a lot of powerful and exciting new capabilities. The purpose of this paper is to highlight the new capabilities. Have you got a pearl that you would like to share? Please send me an email and I will add it to this paper (and credit you). I ask three things: 1. The pearl highlights a capability that is new to XSLT 3.0 or XPath 3.0. 2. Provide a short, complete, working stylesheet with a sample input document. 3. Provide a brief description of the code. This is an evolving paper. As new pearls are found, they will be added. TABLE OF CONTENTS 1. XPath 3.0 is a composable language 2. Higher-order functions 3. Partial functions 4. Function composition 5. Recursion with anonymous functions 6. Closures 7. Binary search trees 8. -- next pearl is? -- CHAPTER 1: XPATH 3.0 IS A COMPOSABLE LANGUAGE The XPath 3.0 specification says this: XPath 3.0 is a composable language What does that mean? It means that every operator and language construct allows any XPath expression to appear as its operand (subject only to operator precedence and data typing constraints). For example, take this expression: 3 + ____ The plus (+) operator has a left-operand, 3. What can the right-operand be? Answer: any XPath expression! Let's use the max() function as the right-operand: 3 + max(___) Now, what can the argument to the max() function be? Answer: any XPath expression! Let's use a for- loop as its argument: 3 + max(for $i in 1 to 10 return ___) Now, what can the return value of the for-loop be? Answer: any XPath expression! Let's use an if- statement: 3 + max(for $i in 1 to 10 return (if ($i gt 5) then ___ else ___))) And so forth.
    [Show full text]
  • Decentralized Identifier WG F2F Sessions
    Decentralized Identifier WG F2F Sessions Day 1: January 29, 2020 Chairs: Brent Zundel, Dan Burnett Location: Microsoft Schiphol 1 Welcome! ● Logistics ● W3C WG IPR Policy ● Agenda ● IRC and Scribes ● Introductions & Dinner 2 Logistics ● Location: “Spaces”, 6th floor of Microsoft Schiphol ● WiFi: SSID Publiek_theOutlook, pwd Hello2020 ● Dial-in information: +1-617-324-0000, Meeting ID ● Restrooms: End of the hall, turn right ● Meeting time: 8 am - 5 pm, Jan. 29-31 ● Breaks: 10:30-11 am, 12:30-1:30 pm, 2:30-3 pm ● DID WG Agenda: https://tinyurl.com/didwg-ams2020-agenda (HTML) ● Live slides: https://tinyurl.com/didwg-ams2020-slides (Google Slides) ● Dinner Details: See the “Dinner Tonight” slide at the end of each day 3 W3C WG IPR Policy ● This group abides by the W3C patent policy https://www.w3.org/Consortium/Patent-Policy-20040205 ● Only people and companies listed at https://www.w3.org/2004/01/pp-impl/117488/status are allowed to make substantive contributions to the specs ● Code of Conduct https://www.w3.org/Consortium/cepc/ 4 Today’s agenda 8:00 Breakfast 8:30 Welcome, Introductions, and Logistics Chairs 9:00 Level setting Chairs 9:30 Security issues Brent 10:15 DID and IoT Sam Smith 10:45 Break 11:00 Multiple Encodings/Different Syntaxes: what might we want to support Markus 11:30 Different encodings: model incompatibilities Manu 12:00 Abstract data modeling options Dan Burnett 12:30 Lunch (brief “Why Are We Here?” presentation) Christopher Allen 13:30 DID Doc Extensibility via Registries Mike 14:00 DID Doc Extensibility via JSON-LD Manu
    [Show full text]
  • Building Xquery Based Web Service Aggregation and Reporting Applications
    TECHNICAL PAPER BUILDING XQUERY BASED WEB SERVICE AGGREGATION AND REPORTING APPLICATIONS TABLE OF CONTENTS Introduction ........................................................................................................................................ 1 Scenario ............................................................................................................................................ 1 Writing the solution in XQuery ........................................................................................................... 3 Achieving the result ........................................................................................................................... 6 Reporting to HTML using XSLT ......................................................................................................... 6 Sample Stock Report ......................................................................................................................... 8 Summary ........................................................................................................................................... 9 XQuery Resources ............................................................................................................................ 9 www.progress.com 1 INTRODUCTION The widespread adoption of XML has profoundly altered the way that information is exchanged within and between enterprises. XML, an extensible, text-based markup language, describes data in a way that is both hardware- and software-independent. As such,
    [Show full text]
  • Prevent Xpath and CSS Based Scrapers by Using Markup Randomization
    The Islamic University of Gaza الجـامعـــــــــ ـة اﻹســـــﻻميـ ـة بغـ ـزة عم ا ة البح ل العلم والد اس ات العلي ا Deanship of Research and Graduate Studies كـليــــ ـة تكنولوجي ا المعلوم ات Faculty of Information Technology ماجس تير تكنولوجي ا المعلوم ات Master of Information Technology Prevent XPath and CSS Based Scrapers by Using Markup Randomization منع جمع المعلومات بالطريقة المعتمدة على XPath و CSS باستخدام عشوائية الترميز By Ahmed Mustafa Ibrahim Diab Supervised by Dr. Tawfiq S. Barhoom Associate Prof. of Applied Computer Technology A thesis submitted in partial fulfilment of the requirements for the degree of Master of Information Technology September/2018 إقـــــــــــــرار أنا الموقع أدناه مقدم الرسالة التي تحمل العنوان: Prevent XPath and CSS Based Scrapers by Using Markup Randomization منع جمع المعلومات بالطريقة المعتمدة على XPath وCSS باستخدام عشوائية الترميز أقر بأن ما اشتملت عليه هذه الرسالة إنما هو نتاج جهدي الخاص، باستثناء ما تمت اﻹشارة إليه حيثما ورد، وأن هذه الرسالة ككل أو أي جزء منها لم يقدم من قبل اﻻخرين لنيل درجة أو لقب علمي أو بحثي لدى أي مؤسسة تعليمية أو بحثية أخرى. Declaration I understand the nature of plagiarism, and I am aware of the University’s policy on this. The work provided in this thesis, unless otherwise referenced, is the researcher's own work, and has not been submitted by others elsewhere for any other degree or qualification. احمد مصطفى إبراهيم دياب :Student's name اسم الطالب: Signature: التوقيع: Date: التاريخ: 28/08/2018 I I Abstract Web Scraping is a useful technique can be used in an ethical way such as climate and many researching fields, on the other hand, unethical way such as exploit content privacy, which is Data Theft.
    [Show full text]
  • Xquery Tutorial
    XQuery Tutorial Agenda • Motivation&History • Basics • Literals • XPath • FLWOR • Constructors • Advanced • Type system • Functions • Modules 2 Motivation • XML Query language to query data stores • XSLT for translation, not for querying • Integration language • Connect data from different sources • Access relational data represented as XML • Use in messaging systems • Need expressive language for integration 3 Design Goals • Declarative & functional language • No side effects • No required order of execution etc. • Easier to optimize • Strongly typed language, can handle weak typing • Optional static typing • Easier language • Non-XML syntax • Not a cumbersome SQL extension 4 History • Started 1998 as “Quilt” • Influenced by database- and document-oriented community • First W3C working draft in Feb 2001 • Still not a recommendation in March 2006 • Lots of implementations already available • Criticism: much too late • Current work • Full text search • Updates within XQuery 5 A composed language • XQuery tries to fit into the XML world • Based on other specifications • XPath language • XML Schema data model • various RFCs (2396, 3986 (URI), 3987 (IRI)) • Unicode • XML Names, Base, ID • Think: XPath 1.0 + XML literals + loop constructs 6 Basics • Literals • Arithmetic • XPath • FLWOR • Constructors 7 Basics - Literals • Strings • "Hello ' World" • "Hello "" World" • 'Hello " World' • "Hello $foo World" – doesn't work! • Numbers • xs:integer - 42 • xs:decimal – 3.5 • xs:double - .35E1 • xs:integer* - 1 to 5 – (1, 2, 3, 4, 5) 8 Literals (ctd.)
    [Show full text]
  • Xpath and Xquery
    XPath and XQuery Patryk Czarnik Institute of Informatics University of Warsaw XML and Modern Techniques of Content Management – 2012/13 . 1. Introduction Status XPath Data Model 2. XPath language Basic constructs XPath 2.0 extras Paths 3. XQuery XQuery query structure Constructors Functions . 1. Introduction Status XPath Data Model 2. XPath language Basic constructs XPath 2.0 extras Paths 3. XQuery XQuery query structure Constructors Functions . XPath XQuery . Used within other standards: Standalone standard. XSLT Main applications: XML Schema XML data access and XPointer processing XML databases . DOM . Introduction Status XPath and XQuery Querying XML documents . Common properties . Expression languages designed to query XML documents Convenient access to document nodes Intuitive syntax analogous to filesystem paths Comparison and arithmetic operators, functions, etc. Patryk Czarnik 06 – XPath XML 2012/13 4 / 42 Introduction Status XPath and XQuery Querying XML documents . Common properties . Expression languages designed to query XML documents Convenient access to document nodes Intuitive syntax analogous to filesystem paths Comparison and arithmetic operators, functions, etc. XPath XQuery . Used within other standards: Standalone standard. XSLT Main applications: XML Schema XML data access and XPointer processing XML databases . DOM . Patryk Czarnik 06 – XPath XML 2012/13 4 / 42 . XPath 2.0 . Several W3C Recommendations, I 2007: XML Path Language (XPath) 2.0 XQuery 1.0 and XPath 2.0 Data Model XQuery 1.0 and XPath 2.0 Functions and Operators XQuery 1.0 and XPath 2.0 Formal Semantics Used within XSLT 2.0 Related to XQuery 1.0 . Introduction Status XPath — status . XPath 1.0 . W3C Recommendation, XI 1999 used within XSLT 1.0, XML Schema, XPointer .
    [Show full text]