This document discusses using SQL/XML on Oracle databases. It provides an overview and outlines how to:
1. Extract relational data from tables and represent it as XML using SQL/XML publishing functions
2. Store XML data in the database using the XML data type
3. Transform XML data back into relational tables
The examples show how to start with simple XML generation and build up to a well-formed XML document with headers, root elements, and XSLT references.
This document provides an introduction to querying XML documents using XPath and XQuery. It begins with an overview of XML and its tree structure. It then covers the basics of XPath, including path expressions and functions. XQuery is introduced as a more powerful query language that incorporates XPath and allows restructuring results. Examples are provided to demonstrate XPath and XQuery expressions for retrieving, filtering, joining, and aggregating data from XML documents. Built-in functions, sorting, and nested queries in XQuery are also discussed.
XQuery is a standardized language for combining documents, databases, Web pages and almost anything else. It is very widely implemented. It is powerful and easy to learn.
An introduction to the XPath XML query possibilities. In particular, there is a focus on the abbreviations that makes XPath efficient to use. A larger section is allocated to explain and illustrated the use of axes in XPath
This document discusses XML query language XPath and navigation. It describes how XPath allows querying XML documents by addressing elements and text using a path-like notation. XPath expressions are evaluated based on a context node and node-set. The document also covers XPointer for pointing to specific data within XML documents, and how XPath can be used with the XML DOM and XPathNavigator class in .NET.
XPath is a language for selecting nodes in an XML document. It uses path expressions that navigate the hierarchical structure of XML. Path expressions select nodes or node-sets using steps, axes, predicates and wildcards. XPath is commonly used with XSLT to transform XML documents into other formats. It contains functions like position(), count(), and last() to retrieve information about nodes.
Slides of my presentations at ApacheCon EU 07, see http://www.eu.apachecon.com/program/talk/84, and at the Cocoon GetTogether 2007, see http://www.cocoongt.org/
XPath is a language for selecting parts of an XML document. It uses path expressions to navigate through elements and attributes, similar to a programming language. Path expressions use steps to select nodes, and can include predicates and wildcards. XPath also includes over 100 built-in functions for evaluating nodes, strings, numbers, and more. It is a standard for finding information in XML documents and a major component of XSLT.
This document provides an introduction to querying XML documents using XPath and XQuery. It begins with an overview of XML and its tree structure. It then covers the basics of XPath, including path expressions and functions. XQuery is introduced as a more powerful query language that incorporates XPath and allows restructuring results. Examples are provided to demonstrate XPath and XQuery expressions for retrieving, filtering, joining, and aggregating data from XML documents. Built-in functions, sorting, and nested queries in XQuery are also discussed.
XQuery is a standardized language for combining documents, databases, Web pages and almost anything else. It is very widely implemented. It is powerful and easy to learn.
An introduction to the XPath XML query possibilities. In particular, there is a focus on the abbreviations that makes XPath efficient to use. A larger section is allocated to explain and illustrated the use of axes in XPath
This document discusses XML query language XPath and navigation. It describes how XPath allows querying XML documents by addressing elements and text using a path-like notation. XPath expressions are evaluated based on a context node and node-set. The document also covers XPointer for pointing to specific data within XML documents, and how XPath can be used with the XML DOM and XPathNavigator class in .NET.
XPath is a language for selecting nodes in an XML document. It uses path expressions that navigate the hierarchical structure of XML. Path expressions select nodes or node-sets using steps, axes, predicates and wildcards. XPath is commonly used with XSLT to transform XML documents into other formats. It contains functions like position(), count(), and last() to retrieve information about nodes.
Slides of my presentations at ApacheCon EU 07, see http://www.eu.apachecon.com/program/talk/84, and at the Cocoon GetTogether 2007, see http://www.cocoongt.org/
XPath is a language for selecting parts of an XML document. It uses path expressions to navigate through elements and attributes, similar to a programming language. Path expressions use steps to select nodes, and can include predicates and wildcards. XPath also includes over 100 built-in functions for evaluating nodes, strings, numbers, and more. It is a standard for finding information in XML documents and a major component of XSLT.
XPath is a syntax for selecting parts of an XML document, similar to how file paths work in an operating system. It allows selecting elements, attributes, and text from an XML document. XPath uses paths containing axis, nodes, and predicates to navigate within an XML document. Common axes include child, parent, ancestor, descendant, following, and preceding. Functions, arithmetic expressions, and other features allow complex querying of XML documents.
This document provides an overview of XSLT (Extensible Stylesheet Language Transformations) which is used to transform XML documents into other XML documents or other formats like HTML. It discusses the main components of XSL including XSLT, XPath, and XSL-FO. Key elements of XSLT like xsl:template, xsl:apply-templates, xsl:value-of are described along with how XSLT transformations work. The role of XPath in navigating XML documents and selecting nodes is also summarized.
This document provides an agenda for a presentation on XML DOM functionality in .NET. The presentation covers loading XML data into an XmlDocument object, working with child nodes, retrieving nodes that match criteria using XPath expressions, selecting single nodes, and retrieving node attributes. It demonstrates these concepts using a sample XML file representing a grocery store inventory. The conclusion emphasizes that the XmlDocument class represents an entire XML document in memory and supports loading, reading, and writing XML data using DOM functionality.
XPath is a language for selecting nodes in an XML document. It uses path expressions to navigate within elements, attributes, and nodes. XPath syntax includes nodename, /, //, ., .., @, and axes like ancestor, child, and descendant to locate nodes. XPath expressions can be absolute, starting from the root, or relative from the current location. It also contains functions to select unknown nodes, test strings, and check if a node contains, starts with, or ends with a value.
- Java uses streams to perform input and output operations which allow for fast processing. Streams are sequences of data composed of bytes.
- The main stream classes in Java are InputStream for reading data and OutputStream for writing data. These classes handle byte-oriented input/output.
- FileInputStream and FileOutputStream classes allow reading and writing of data to files by extending InputStream and OutputStream respectively. They are used for file handling operations in Java.
This document provides an overview of XPath, the XML query language. It defines key XPath terminology like nodes, axes, and path expressions. It explains how to navigate an XML document and select elements using absolute and relative paths with slashes. It also covers wildcards, brackets, and functions for selecting elements based on attributes, position, name length, and ancestry. Examples are included to demonstrate different XPath expressions.
In this core java training session, you will learn Object Class. Topics covered in this session are:
• Object Class
• toString()
• equals()
• Hashing
• hashCode()
For more information about this course visit on this link: https://www.mindsmapped.com/courses/software-development/learn-java-fundamentals-hands-on-training-on-core-java-concepts/
SPARQL Query Containment with ShEx ConstraintsAbdullah Abbas
ShEx (Shape Expressions) is a language for expressing constraints on RDF graphs. We consider the problem of SPARQL query containment in the presence of ShEx constraints. We first propose a sound and complete procedure for the problem of containment with ShEx, considering several SPARQL fragments. Particularly our procedure considers OPTIONAL query patterns, that turns out to be an important fragment to be studied with schemas. We then show the complexity bounds of our problem with respect to the fragments considered. To the best of our knowledge, this is the first work addressing SPARQL query containment in the presence of ShEx constraints.
The document discusses multithreading in Java. It defines a thread as the smallest unit of processing and describes how Java allows executing multiple threads simultaneously. It outlines the five states in a thread's lifecycle and how threads transition between these states. It also discusses how to create threads by extending the Thread class or implementing the Runnable interface. Additionally, it covers common thread methods like sleep(), join(), getName(), currentThread(), and setting priority. The document concludes with a brief overview of synchronization in Java.
Java/Scala Lab 2016. Григорий Кравцов: Реализация и тестирование DAO слоя с н...GeeksLab Odessa
The document discusses using the DAO pattern with implicit classes in Scala to provide a separation between low-level data access and high-level business services. It describes implementing a DAO layer with a native Scala DSL using implicit classes, and testing the DAO layer by embedding MongoDB for integration tests. Advantages of the DAO approach include easy code reading and support, while disadvantages include potential difficulty with complex repositories and implicit conversions.
The document discusses Scala, a programming language designed to be scalable. It can be used for both small and large programs. Scala combines object-oriented and functional programming. It interoperates seamlessly with Java but allows developers to add new constructs like actors through libraries. The Scala community is growing, with industrial adoption starting at companies like Twitter.
This document provides an overview of topics that will be covered in an XPath and XSLT workshop, including introductions to XPath and XSLT, XPath expressions and functions, template-based processing, creating output, conditional processing, variables and parameters, functions, outlining and numbering, template priority, and importing and including stylesheets. The workshop will conclude with a final project to transform one XML structure to another XML structure or to transform XML to HTML using XSLT.
A comparison of a database table to an XML document. There is an overview of basic XML concepts suchs as attribute, element, entity, and tag. Data centric and document centric XML document are covered.
Introduction to the usage of DTDs in connection with XML documents. Elements and attributes are introduced in details. Use of ID, IDREF, and IDREFS for uniqueness and referring to elements are illustrated using a number of examples.
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive function. Exercise causes chemical changes in the brain that may help protect against developing mental illness and improve symptoms for those who already have a condition.
Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...Marco Gralike
The document discusses the speaker's experience with Oracle XML Database 11g and provides an overview of key topics. It covers that XML is not relational, how to set up and configure the XML database, XML handling and storage options, the protocol server, using the repository, and data handling functions. The speaker aims to discuss encountered issues and provide tips based on their experience with the XML database.
This document outlines an 18 period course on Oracle SQL and PL/SQL from a book. It divides the book into three parts that cover database concepts, Oracle SQL, and application development using PL/SQL. Chapters in Part II on PL/SQL include introduction to PL/SQL programming, functions/procedures/packages, exception handling, triggers, implicit/explicit cursors, advanced cursors, collections, objects, dynamic SQL, and performance tuning. The book includes examples, questions, and workouts. Teaching materials are available online.
SQL Server - Querying and Managing XML DataMarek Maśko
This document provides an overview and agenda for a presentation on querying and managing XML data in SQL Server. The presentation covers XML introduction and terminology, returning query results as XML using the FOR XML clause, querying XML data with XQuery, and using the XML data type including methods and indexes. It includes examples and review questions. The author is Marek Maśko, a principal database analyst who has worked with SQL Server for 7 years.
The document provides an overview of new features in SQL Server 2005 including enhanced XML support, CLR integration, and Service Broker. XML features allow storing and querying XML data natively using XML data types and indexes. CLR integration allows writing database objects in .NET languages. Service Broker introduces asynchronous messaging capabilities.
XPath is a syntax for selecting parts of an XML document, similar to how file paths work in an operating system. It allows selecting elements, attributes, and text from an XML document. XPath uses paths containing axis, nodes, and predicates to navigate within an XML document. Common axes include child, parent, ancestor, descendant, following, and preceding. Functions, arithmetic expressions, and other features allow complex querying of XML documents.
This document provides an overview of XSLT (Extensible Stylesheet Language Transformations) which is used to transform XML documents into other XML documents or other formats like HTML. It discusses the main components of XSL including XSLT, XPath, and XSL-FO. Key elements of XSLT like xsl:template, xsl:apply-templates, xsl:value-of are described along with how XSLT transformations work. The role of XPath in navigating XML documents and selecting nodes is also summarized.
This document provides an agenda for a presentation on XML DOM functionality in .NET. The presentation covers loading XML data into an XmlDocument object, working with child nodes, retrieving nodes that match criteria using XPath expressions, selecting single nodes, and retrieving node attributes. It demonstrates these concepts using a sample XML file representing a grocery store inventory. The conclusion emphasizes that the XmlDocument class represents an entire XML document in memory and supports loading, reading, and writing XML data using DOM functionality.
XPath is a language for selecting nodes in an XML document. It uses path expressions to navigate within elements, attributes, and nodes. XPath syntax includes nodename, /, //, ., .., @, and axes like ancestor, child, and descendant to locate nodes. XPath expressions can be absolute, starting from the root, or relative from the current location. It also contains functions to select unknown nodes, test strings, and check if a node contains, starts with, or ends with a value.
- Java uses streams to perform input and output operations which allow for fast processing. Streams are sequences of data composed of bytes.
- The main stream classes in Java are InputStream for reading data and OutputStream for writing data. These classes handle byte-oriented input/output.
- FileInputStream and FileOutputStream classes allow reading and writing of data to files by extending InputStream and OutputStream respectively. They are used for file handling operations in Java.
This document provides an overview of XPath, the XML query language. It defines key XPath terminology like nodes, axes, and path expressions. It explains how to navigate an XML document and select elements using absolute and relative paths with slashes. It also covers wildcards, brackets, and functions for selecting elements based on attributes, position, name length, and ancestry. Examples are included to demonstrate different XPath expressions.
In this core java training session, you will learn Object Class. Topics covered in this session are:
• Object Class
• toString()
• equals()
• Hashing
• hashCode()
For more information about this course visit on this link: https://www.mindsmapped.com/courses/software-development/learn-java-fundamentals-hands-on-training-on-core-java-concepts/
SPARQL Query Containment with ShEx ConstraintsAbdullah Abbas
ShEx (Shape Expressions) is a language for expressing constraints on RDF graphs. We consider the problem of SPARQL query containment in the presence of ShEx constraints. We first propose a sound and complete procedure for the problem of containment with ShEx, considering several SPARQL fragments. Particularly our procedure considers OPTIONAL query patterns, that turns out to be an important fragment to be studied with schemas. We then show the complexity bounds of our problem with respect to the fragments considered. To the best of our knowledge, this is the first work addressing SPARQL query containment in the presence of ShEx constraints.
The document discusses multithreading in Java. It defines a thread as the smallest unit of processing and describes how Java allows executing multiple threads simultaneously. It outlines the five states in a thread's lifecycle and how threads transition between these states. It also discusses how to create threads by extending the Thread class or implementing the Runnable interface. Additionally, it covers common thread methods like sleep(), join(), getName(), currentThread(), and setting priority. The document concludes with a brief overview of synchronization in Java.
Java/Scala Lab 2016. Григорий Кравцов: Реализация и тестирование DAO слоя с н...GeeksLab Odessa
The document discusses using the DAO pattern with implicit classes in Scala to provide a separation between low-level data access and high-level business services. It describes implementing a DAO layer with a native Scala DSL using implicit classes, and testing the DAO layer by embedding MongoDB for integration tests. Advantages of the DAO approach include easy code reading and support, while disadvantages include potential difficulty with complex repositories and implicit conversions.
The document discusses Scala, a programming language designed to be scalable. It can be used for both small and large programs. Scala combines object-oriented and functional programming. It interoperates seamlessly with Java but allows developers to add new constructs like actors through libraries. The Scala community is growing, with industrial adoption starting at companies like Twitter.
This document provides an overview of topics that will be covered in an XPath and XSLT workshop, including introductions to XPath and XSLT, XPath expressions and functions, template-based processing, creating output, conditional processing, variables and parameters, functions, outlining and numbering, template priority, and importing and including stylesheets. The workshop will conclude with a final project to transform one XML structure to another XML structure or to transform XML to HTML using XSLT.
A comparison of a database table to an XML document. There is an overview of basic XML concepts suchs as attribute, element, entity, and tag. Data centric and document centric XML document are covered.
Introduction to the usage of DTDs in connection with XML documents. Elements and attributes are introduced in details. Use of ID, IDREF, and IDREFS for uniqueness and referring to elements are illustrated using a number of examples.
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive function. Exercise causes chemical changes in the brain that may help protect against developing mental illness and improve symptoms for those who already have a condition.
Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...Marco Gralike
The document discusses the speaker's experience with Oracle XML Database 11g and provides an overview of key topics. It covers that XML is not relational, how to set up and configure the XML database, XML handling and storage options, the protocol server, using the repository, and data handling functions. The speaker aims to discuss encountered issues and provide tips based on their experience with the XML database.
This document outlines an 18 period course on Oracle SQL and PL/SQL from a book. It divides the book into three parts that cover database concepts, Oracle SQL, and application development using PL/SQL. Chapters in Part II on PL/SQL include introduction to PL/SQL programming, functions/procedures/packages, exception handling, triggers, implicit/explicit cursors, advanced cursors, collections, objects, dynamic SQL, and performance tuning. The book includes examples, questions, and workouts. Teaching materials are available online.
SQL Server - Querying and Managing XML DataMarek Maśko
This document provides an overview and agenda for a presentation on querying and managing XML data in SQL Server. The presentation covers XML introduction and terminology, returning query results as XML using the FOR XML clause, querying XML data with XQuery, and using the XML data type including methods and indexes. It includes examples and review questions. The author is Marek Maśko, a principal database analyst who has worked with SQL Server for 7 years.
The document provides an overview of new features in SQL Server 2005 including enhanced XML support, CLR integration, and Service Broker. XML features allow storing and querying XML data natively using XML data types and indexes. CLR integration allows writing database objects in .NET languages. Service Broker introduces asynchronous messaging capabilities.
The document discusses using Oracle 10053 trace files to analyze the Cost Based Optimizer's decision making process. It provides information on enabling 10053 traces, the structure and contents of 10053 trace files, and examples of using traces to understand why a particular execution plan was chosen. The document also covers newer tracing options introduced in Oracle 11g and how 10053 traces can help optimize SQL statements and learn about the CBO.
The document discusses PostgreSQL's current and future support for XML. It outlines current features like the XML data type, XML publishing functions, XML export, and XPath support. Future plans include adding validation against DTDs and XML schemas, annotated schema decomposition, XSLT transformations, improving performance, full-text search on XML data, and more advanced indexing. Several examples are provided to illustrate current XML functionality in PostgreSQL.
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1Marco Gralike
The document provides an overview of XML programming in PL/SQL and Oracle XML DB. It discusses Oracle's XML capabilities and milestones from versions 9i to 11g. It highlights the various XML functions, operators, and packages available in Oracle for XML data handling and processing. It also provides examples of querying XML data stored in different sources using XMLTable and XQuery.
The document describes the SHACL Test-Suite, which provides a framework for testing SHACL shape schemas and validators. The test-suite structure includes a main manifest file that includes other test folders, each with their own manifest. Manifest files follow the W3C standard practice and describe test entries that validate data against schemas, match nodes to shapes, and test schema formatting. The test-suite is available online and on GitHub, and the working group is seeking contributions to expand the included tests.
Boost Your Environment With XMLDB - UKOUG 2008 - Marco GralikeMarco Gralike
This document summarizes key concepts and capabilities of Oracle XML DB including:
1. The Protocol Server which handles XML storage and access via HTTP, FTP, and WebDAV. Its configuration involves files like listener.ora and xdbconfig.xml.
2. Various HTTP APIs for XML DB access like PL/SQL gateways, native database web services (NDWS), and the DBUri servlet for browsing database data.
3. URITypes for representing URIs that target database data (DBUriType), URLs outside the database (HTTPUriType), and resources in the XML DB repository (XDBUriType).
4. Combining XML DB with capabilities like BFILE to select and
This document summarizes a presentation about using directory objects and external tables in Oracle. It discusses how to use directory objects to define aliases for operating system directories and control access to output paths. It provides examples of using external tables to load, extract, and merge data from files. The examples demonstrate how to retrieve files via FTP, load/update database tables, and send email notifications after the jobs complete. Attendees would learn how to incorporate these features into PL/SQL packages to schedule ETL jobs.
This tutorial describes using recursive XSLT calls and JavaScript to display an expanding and collapsing tree view of an XML purchase order document. Key aspects covered include using recursion in the XSLT stylesheet to process the XML data hierarchically, invoking JavaScript from XSLT to make the display interactive, and generating HTML output with calls to the JavaScript functions. The code sample demonstrates techniques for parsing XML data recursively and creating an interactive user interface using XSLT and JavaScript.
This tutorial describes using recursive XSLT calls and JavaScript to display an expanding and collapsing tree view of an XML purchase order document. Key aspects covered include using recursion in the XSLT stylesheet to process the XML data hierarchically, invoking JavaScript from XSLT to make the display interactive, and generating HTML output with calls to the JavaScript functions. The code sample demonstrates techniques for parsing XML data recursively and creating an interactive user interface using XSLT and JavaScript.
Sedna XML Database: Query Parser & Optimizing RewriterIvan Shcheklein
The document discusses Sedna, an XML query parser and optimizer. It describes:
1) The goals of supporting a wide range of queries while achieving high performance.
2) The query processing steps of parsing, analysis, optimization, and physical plan generation.
3) The optimizing rewriter removes unnecessary operations through rewriting rules like combining // steps or removing duplicate nodes.
This document provides information about typographic conventions used in Oracle database documentation and courses. It also lists related Oracle publications for additional reference. The course is organized with lectures and hands-on exercises to teach concepts and skills, reinforced with demonstrations and practice sessions. Familiarity with GUIs and data concepts is recommended before taking the course.
The document discusses SPARQL, a query language for RDF data. It describes the key components of SPARQL, including its specification, query types, results format, and protocol. It also covers implementation issues for SPARQL services and provides examples of using SPARQL to query RSS feeds, geographical data, and more. Extensions discussed include querying by reference, XSLT transformation of results, and a JSON results format.
This 7-day training course covers Oracle database fundamentals, SQL, and PL/SQL. In the first 2 days, students learn SQL including queries, functions, and database objects. The next 2 days cover advanced SQL. The final 3 days focus on PL/SQL, Oracle's procedural language, including variables, logic, stored programs, exceptions, and packages.
The DE-9IM Matrix in Details using ST_Relate: In Picture and SQLtorp42
The DE-9IM matrix is the foundation for understanding how spatial relationships are implemented in DBMSs like PostgreSQL, Oracle, and Microsoft SQL Server. This presentation makes a structure walk-through of most of the cases using a very large number of examples.
An overview of ER-diagrams including entity sets, relationship sets, and attributes. The four attributes types are covered and cardinality constraints. Further partial or full participation is discussed.
The document discusses modifications to temporal databases with valid time. It describes implicit timestamping where timestamps are system-generated. Valid time insert adds a row with a valid from timestamp and "now" as the valid to. Valid time update sets the valid to of the old row and adds a new row with the new valid from and "now". Valid time delete sets the valid to timestamp of a row to the current time.
An overview of typical queries on a temporal database, e.g., temporal natural join, temporal coalescing, or temporal set operators. Examples are provided using valid-time, transaction-time and bitemporal databases.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
Building RAG with self-deployed Milvus vector database and Snowpark Container...Zilliz
This talk will give hands-on advice on building RAG applications with an open-source Milvus database deployed as a docker container. We will also introduce the integration of Milvus with Snowpark Container Services.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
How to Get CNIC Information System with Paksim Ga.pptx
SQL/XML on Oracle
1. SQL/XML on Oracle
Kristian Torp
Department of Computer Science
Aalborg University
people.cs.aau.dk/˜torp
torp@cs.aau.dk
November 26, 2015
daisy.aau.dk
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 1 / 73
2. Outline
1 Introduction
2 From Tables to XML
Introduction
SQL/XML Publishing Functions
Quick and Dirty Publishing Functions
XML View on Relational Data
3 The XML Data Type
Introduction
oradb: Protocol
4 From XML to Tables
Introduction
A Simple Example
A Longer Example
5 Summary
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 2 / 73
3. Learning Goals
Goals
Overview of SQL/XML
Extract relational information as XML
Introduction querying XML on PostgreSQL
Note
SQL/XML is part of the SQL standard
SQL/XML is being supported by the major DBMS vendors
It has nothing to do with SQLXML from Microsoft
Standard
Concepts are general
Code is sometimes DBMS specific
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 3 / 73
4. Outline
1 Introduction
2 From Tables to XML
Introduction
SQL/XML Publishing Functions
Quick and Dirty Publishing Functions
XML View on Relational Data
3 The XML Data Type
Introduction
oradb: Protocol
4 From XML to Tables
Introduction
A Simple Example
A Longer Example
5 Summary
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 4 / 73
5. Overall Picture
The Main Idea
SQL/XML query <stuff></stuff>
Note
SQL/XML is an SQL extension
Added in 2003, extended in 2008 and 2011 versions of SQL
SQL/XML is bidirectional from tables to XML
Started as tables to XML
Extended with XML to tables
The major DBMS vendors do not agree on the SQL/XML syntax!
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 5 / 73
6. XPath and XQuery vs. SQL/XML
XPath and XQuery
XPath and XQuery are XML
centric
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 6 / 73
7. XPath and XQuery vs. SQL/XML
XPath and XQuery
XPath and XQuery are XML
centric
SQL/XML
SQL/XML is SQL centric
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 6 / 73
8. Outline
1 Introduction
2 From Tables to XML
Introduction
SQL/XML Publishing Functions
Quick and Dirty Publishing Functions
XML View on Relational Data
3 The XML Data Type
Introduction
oradb: Protocol
4 From XML to Tables
Introduction
A Simple Example
A Longer Example
5 Summary
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 7 / 73
9. Outline
1 Introduction
2 From Tables to XML
Introduction
SQL/XML Publishing Functions
Quick and Dirty Publishing Functions
XML View on Relational Data
3 The XML Data Type
Introduction
oradb: Protocol
4 From XML to Tables
Introduction
A Simple Example
A Longer Example
5 Summary
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 8 / 73
10. Create Relational Schema
Example (Create the Table)
create table course (
id i n t primary key ,
name varchar2 (50) not null ,
semester i n t not null ,
descr varchar2 (255) not n u l l
) ;
Example (Load the Data)
i n s e r t i n t o course values
(4 , ’OOP’ , 3 , ’ Object−oriented programming ’ ) ;
i n s e r t i n t o course values
(2 , ’DB ’ , 7 , ’ Databases including SQL ’ ) ;
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 9 / 73
11. Outline
1 Introduction
2 From Tables to XML
Introduction
SQL/XML Publishing Functions
Quick and Dirty Publishing Functions
XML View on Relational Data
3 The XML Data Type
Introduction
oradb: Protocol
4 From XML to Tables
Introduction
A Simple Example
A Longer Example
5 Summary
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 10 / 73
12. Introduction: SQL/XML
Steps
Main purpose to map between XML and SQL
A wrapper layer
A standard defined by the ISO/ANSI SQL committee
Part 14 of of SQL 2003
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 11 / 73
13. Get XML Out, First Try
Example (Query One)
select XMLElement ( ” course ” ,
XMLAttributes ( id as ” id ” ) ,
XMLElement ( ”name” , name) ,
XMLElement ( ” semester ” , semester ) ,
XMLElement ( ” desc ” , descr ) )
from course ;
Note
It is a select statement!
The SQL/XMLpublishing functions XMLElement and XMLAttributes.
It is fairly easy to guess what it does!
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 12 / 73
14. First Result
Example (Result Query One)
<course id=” 4 ”>
<name>OOP</name>
<semester>3</ semester>
<desc>Object−oriented programming</ desc>
</ course>
<course id=” 2 ”>
<name>DB</name>
<semester>7</ semester>
<desc>Databases including SQL</ desc>
</ course>
Note
Not a well-formed XML document! Why?
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 13 / 73
15. Get XML Out, Adding a Root Element
Example (Query Two)
select XMLElement ( ” coursecatalog ” ,
XMLAgg( XMLElement ( ” course ” ,
XMLAttributes ( id as ” id ” ) ,
XMLElement ( ”name” , name) ,
XMLElement ( ” semester ” , semester ) ,
XMLElement ( ” desc ” , descr ) ) ) )
from course ;
Note
The XMLAgg another publishing function
XMLAgg is an aggregate function like min, max, and avg
XMLAgg has optional order by clause
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 14 / 73
16. Second Result
Example (Result Query Two)
<coursecatalog>
<course id=” 4 ”>
<name>OOP</name>
<semester>3</ semester>
<desc>Object−oriented programming</ desc>
</ course>
<course id=” 2 ”>
<name>DB</name>
<semester>7</ semester>
<desc>Databases including SQL</ desc>
</ course>
</ coursecatalog>
Note
Now the XML document has a root element
Still missing the processing instructions at the top
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 15 / 73
17. Get XML Out, Adding XML Definition
Example (Query Three)
select XMLRoot(
( select XMLElement ( ” coursecatalog ” ,
XMLAgg( XMLElement ( ” course ” ,
XMLAttributes ( id as ” id ” ) ,
XMLElement ( ”name” , name) ,
XMLElement ( ” semester ” , semester ) ,
XMLElement ( ” desc ” , descr ) ) ) )
from course ) , VERSION ’ 1.0 ’ )
from dual ;
Note
It is now a nested statement
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 16 / 73
18. Third Result
Example (Result Query Three)
<?xml version=” 1.0 ” standalone=” yes ” ?>
<coursecatalog>
<course id=” 4 ”>
<name>OOP</name>
<semester>3</ semester>
<desc>Object−oriented programming</ desc>
</ course>
<course id=” 2 ”>
<name>DB</name>
<semester>7</ semester>
<desc>Databases including SQL</ desc>
</ course>
</ coursecatalog>
Note
Got the XML header
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 17 / 73
19. Get XML Out, Adding an XSLT
Example (Query Four)
select XMLRoot(
XMLConcat
(
XMLPI(NAME ” xml−stylesheet ” , ’ type =” t e x t / xsl ”
href = ” . . / x s l t / coursecatalog . x s l t ” ’ ) ,
(
select XMLElement ( ” coursecatalog ” ,
XMLAgg( XMLElement ( ” course ” ,
XMLAttributes ( id as ” id ” ) ,
XMLElement ( ”name” , name) ,
XMLElement ( ” semester ” , semester ) ,
XMLElement ( ” desc ” , descr ) ) ) )
from course
)
) ,
VERSION ’ 1.0 ’ ) from dual ;
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 18 / 73
20. Final Result
Example (Result Query Four)
<?xml version=” 1.0 ” ?>
<?xml−stylesheet type=” t e x t / xsl ”
href=” . . / x s l t / coursecatalog . x s l t ” ?>
<coursecatalog>
<course id=” 4 ”>
<name>OOP</name>
<semester>3</ semester>
<desc>Object−oriented programming</ desc>
</ course>
<course id=” 2 ”>
<name>DB</name>
<semester>7</ semester>
<desc>Databases including SQL</ desc>
</ course>
</ coursecatalog>
Note
A nice valid XML document!
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 19 / 73
21. SQL/XML Publishing Functions
Overview
Function Description
XMLRoot Creates a root node
XMLElement Creates an XML element
XMLAttributes Creates attributes on elements
XMLAgg Aggregates XML fragments
XMLForest Creates a forest of elements
XMLConcat Appends elements
XMLPI Create processing instructions
XMLComment Create comments
Note
These are all standard publishing functions
The uses/misuse of abbreviations
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 20 / 73
22. Outline
1 Introduction
2 From Tables to XML
Introduction
SQL/XML Publishing Functions
Quick and Dirty Publishing Functions
XML View on Relational Data
3 The XML Data Type
Introduction
oradb: Protocol
4 From XML to Tables
Introduction
A Simple Example
A Longer Example
5 Summary
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 21 / 73
23. Quick and Dirty
Example (Shortest Possible)
select XMLForest ( id , name, semester , descr )
from course
Example (The Result)
<ID>4</ ID><NAME>OOP</NAME><SEMESTER>3</SEMESTER><DESCR> . . . </DESCR>
<ID>2</ ID><NAME>DB</NAME><SEMESTER>7</SEMESTER><DESCR> . . . </DESCR>
Note
Two rows are returned
Element names are in upper case (Oracle/SQL default)
No container element for each row
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 22 / 73
24. Quick and Dirty
Example (Shortest Possible)
select XMLForest ( ∗ )
from course
Note
Not allowed on Oracle
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 23 / 73
25. Quick and Dirty
Example (Shortest Possible)
select XMLForest ( ∗ )
from course
Note
Not allowed on Oracle
Example (Shortest Possible)
select XMLForest ( co . ∗ )
from course co
Note
Not allowed either!
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 23 / 73
26. Rename Columns
Example (Rename Columns)
select XMLForest ( ID as ” id ” ,
name as ” course−name” ,
semester as ” semester ” ,
descr as ” description ” )
from course
Example (The Result)
<id>4</ id><course−name>OOP</ course−name><semester>3</ semester> . . .
<id>2</ id><course−name>DB</ course−name><semester>7</ semester> . . .
Note
Must use double quote ” and not single quote
As is optional if scalar value
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 24 / 73
27. Added Outer Element
Example (A Tag for Each Row)
select XMLElement (
” course ” ,
XMLForest ( ID as ” id ” ,
name as ” course−name” ,
semester as ” semester ” ,
descr as ” description ” ) )
from course
Example (The Result)
<course><id>4</ id><course−name>OOP</ course−name> . . . </ course>
<course><id>2</ id><course−name>DB</ course−name> . . . </ course>
Note
Still two rows being returned
The wrapping of each row
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 25 / 73
28. Quick and Dirty, cont
Example (With Projection)
select XMLForest ( id , name, semester )
from course
Example (The Result)
<ID>4</ ID><NAME>OOP</NAME><SEMESTER>3</SEMESTER>
<ID>2</ ID><NAME>DB</NAME><SEMESTER>7</SEMESTER>
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 26 / 73
29. Quick and Dirty, cont
Example (With Projection)
select XMLForest ( id , name, semester )
from course
Example (The Result)
<ID>4</ ID><NAME>OOP</NAME><SEMESTER>3</SEMESTER>
<ID>2</ ID><NAME>DB</NAME><SEMESTER>7</SEMESTER>
Example (With Projection and Renaming)
select XMLForest ( id as ” cid ” , name ” coursename ” )
from course
Example (The Result)
<cid>4</ cid><coursename>OOP</ coursename>
<cid>2</ cid><coursename>DB</ coursename>
Note
Filtering (selection) is possible in the where clause
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 26 / 73
30. Quick and Dirty, cont I
Example (With Element per Row)
select XMLElement (name ” course ” ,
XMLForest ( id as ” cid ” , name as ”cname” ) )
from course
Example (The Result)
<course><cid>4</ cid><cname>OOP</ cname></ course>
<course><cid>2</ cid><cname>DB</ cname></ course>
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 27 / 73
31. Quick and Dirty, cont II
Example (With Root Element)
select XMLElement ( ” coursecatalog ” ,
XMLAgg(
XMLElement ( ” course ” ,
XMLForest ( id as ” cid ” , name as ”cname” ) ) ) )
from course
Example (The Result)
<coursecatalog>
<course><cid>4</ cid><cname>OOP</ cname></ course>
<course><cid>2</ cid><cname>DB</ cname></ course>
</ coursecatalog>
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 28 / 73
32. Outline
1 Introduction
2 From Tables to XML
Introduction
SQL/XML Publishing Functions
Quick and Dirty Publishing Functions
XML View on Relational Data
3 The XML Data Type
Introduction
oradb: Protocol
4 From XML to Tables
Introduction
A Simple Example
A Longer Example
5 Summary
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 29 / 73
33. XMLType Views
Example (Create an XML view on an existing table)
create or replace view course xml of XMLType with object id
( e x tract
( object value , ’ / coursecatalog / course / @id ’ ) . getnumberval ( ) )
as select XMLElement ( ” coursecatalog ” ,
XMLAgg( XMLElement ( ” course ” ,
XMLAttributes ( id as ” id ” ) ,
XMLElement ( ”name” , name) ,
XMLElement ( ” semester ” , semester ) ,
XMLElement ( ” desc ” , descr ) ) ) )
from course ;
Note
A create view statement
Use the SQL/XML publishing functions
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 30 / 73
34. XQuery on Oracle I
Example (Get info on the OOP course)
XQUERY
f o r $c in ora : view ( ” course xml ” ) / coursecatalog / course
where $c /name=”OOP”
return $c
Example (Result)
column value
<course id=” 4 ”>
<name>OOP</name>
<semester>3</ semester>
<desc>Object−oriented Programming</ desc>
</ course>
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 31 / 73
35. XQuery on Oracle II
Example (Count the number of courses)
XQUERY
f o r $c in ora : view ( ” course xml ” ) / coursecatalog
l e t $cour := count ( $c / course )
return $cour
Example (Result)
column value
2
Note
Remember ’/’ to execute from command line
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 32 / 73
36. Summary: Tables to XML
Summary
SQL/XML is an ISO/ANSI standard not part of W3C
Oracle has made vendor specific extensions to SQL/XML
SQL/XML is good for mapping SQL to XML
It is often very convenient to be able to do the mapping in plain SQL
Start building SQL/XML queries from the inside and out
Alternatives to SQL/XML
Store XML in native format in the database
DBMS vendor specific extension, e.g. DBMS XMLGEN
Do SQL to XML in programming language
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 33 / 73
37. Outline
1 Introduction
2 From Tables to XML
Introduction
SQL/XML Publishing Functions
Quick and Dirty Publishing Functions
XML View on Relational Data
3 The XML Data Type
Introduction
oradb: Protocol
4 From XML to Tables
Introduction
A Simple Example
A Longer Example
5 Summary
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 34 / 73
38. Outline
1 Introduction
2 From Tables to XML
Introduction
SQL/XML Publishing Functions
Quick and Dirty Publishing Functions
XML View on Relational Data
3 The XML Data Type
Introduction
oradb: Protocol
4 From XML to Tables
Introduction
A Simple Example
A Longer Example
5 Summary
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 35 / 73
39. Introduction
Example (The Best of Both Worlds)
Id Txt
1 <course id=’22’><name>OOP</name></course>
2 <course id=’11’><name>DB</name></course>
3 <course id=’33’><name>SQL</name></course>
SQL and XML
Store XML as any other data type in a table
Retain possiblity to use SQL for querying data
Be able to query the XML data using XPath and XQuery
Conversion of XML to SQL
Retain pure SQL view on all data
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 36 / 73
40. The coursecat Table
Example
id dsc exercises
11
<course cid=” 11 ”>
<name>Database</name>
</ course>
22
<course cid=” 22 ”>
<name>OOP</name>
</ course>
<exercises>
<exercise eid=” 1 ”>
<desc>What i s OOP?</ desc>
<answer> I t . . . </ answer>
</ exercise>
</ exercises>
23
<course cid=” 33 ”>
<name>SQL</name>
</ course>
<exercises>
<exercise eid=” 1 ”>
<desc>What i s SQL?</ desc>
<answer> I t . . . </ answer>
</ exercise>
<exercise eid=” 11 ”>
<desc>What i s a query?</ desc>
<answer> I t . . . </ answer>
</ exercise>
</ exercises>
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 37 / 73
41. Create Relational Schema
Example (Create the Table)
create table coursecat (
id i n t primary key ,
dsc xmltype not null ,
exercises xmltype
) ;
Example (Load the Data)
i n s e r t i n t o coursecat values (
22 ,
’<course cid =”22”>
<name>OOP</name>
</course> ’ ,
’<exercises >
<exercise eid =”1”>
<desc>What i s OOP?</desc>
<answer> I t . . . < / answer>
</ exercise >
</ exercises > ’
) ;
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 38 / 73
42. Say Hello
Example (Hello, World!)
select XMLQuery( ’
l e t $s := ” Hello , World ! ”
return $s ’ returning content ) as o
from dual ;
Example (Result)
o
Hello, World!
Note
The XMLQuery function
The XQuery in a string
The returning content is required
The alias (o) is optional (otherwise ugly column name)
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 39 / 73
43. Simple XPath
Example (Use SQL and XPath)
select id , xmlquery ( ’ / / exercise ’
passing exercises
returning content ) as res
from coursecat
Example (Result)
ID RES
11
22 (XMLTYPE)
23 (XMLTYPE)
Note
Passing by value exercises
Return value is of the XMLType data type
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 40 / 73
44. Extracting Values
Example (extractvalue Function)
select id ,
extractvalue ( dsc , ’ / / course /name/ t e x t ( ) ’ ) as course name
from coursecat
Example (Result)
ID COURSE NAME
11 Database
22 OOP
23 SQL
Note
The extracevalue function is Oracle specific
//course/name will do the same
//course will fail (more than one node)!
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 41 / 73
45. Extracting Multiple Values
Example (XML to SQL)
select id ,
extractvalue ( dsc , ’ / / course / @cid ’ ) as course id ,
extractvalue ( dsc , ’ / / course /name/ t e x t ( ) ’ ) as course name
from coursecat
Example (Result)
ID COURSE ID COURSE NAME
11 11 Database
22 22 OOP
23 33 SQL
Note
Attributes and elements extract in the same manner
Now have a pure relational access to data
Can filter on COURSE ID in a where clause
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 42 / 73
46. Outline
1 Introduction
2 From Tables to XML
Introduction
SQL/XML Publishing Functions
Quick and Dirty Publishing Functions
XML View on Relational Data
3 The XML Data Type
Introduction
oradb: Protocol
4 From XML to Tables
Introduction
A Simple Example
A Longer Example
5 Summary
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 43 / 73
47. Extracting Content Directly from XML
Example (XMLQuery Function)
select
xmlquery ( ’ f o r $doc in
fn : c o l l e c t i o n ( ” oradb : / PUBLIC /COURSECAT/ROW/DSC” )
return $doc ’ returning content )
from dual
Example (Result)
XMLQUERY(. . .)
<course cid=”11”><name>Database</name>... </course>
Note
All in upper case
PUBLIC if table is available to current user
ROW is required in the XPath
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 44 / 73
48. From SQL Directly
Example (XQUERY SQL∗Plus Keyword)
XQUERY
f o r $doc in c o l l e c t i o n ( ” oradb : / PUBLIC /COURSECAT/ROW/EXERCISES” )
where $doc / / exercise / @eid = 1
return $doc
Example (Result)
COLUMN VALUE
<exercises><exercise eid=”1”><desc>What is OOP?</desc>...
Note
XQUERY not XMLQuery
The collection is the fn:collection method
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 45 / 73
49. Summary: XML Data Type
Summary
XMLQuery is part of the SQL standard
Allows full XQuery
In princip XQuery on XML file in Oracle!
Oracle as a pure XQuery engine
Supported by DB2 and Oracle
Data type other name (xml) on SQL Server
Oracle made extensions to support SQL∗Plus
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 46 / 73
50. Outline
1 Introduction
2 From Tables to XML
Introduction
SQL/XML Publishing Functions
Quick and Dirty Publishing Functions
XML View on Relational Data
3 The XML Data Type
Introduction
oradb: Protocol
4 From XML to Tables
Introduction
A Simple Example
A Longer Example
5 Summary
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 47 / 73
51. Outline
1 Introduction
2 From Tables to XML
Introduction
SQL/XML Publishing Functions
Quick and Dirty Publishing Functions
XML View on Relational Data
3 The XML Data Type
Introduction
oradb: Protocol
4 From XML to Tables
Introduction
A Simple Example
A Longer Example
5 Summary
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 48 / 73
52. The Overall Idea
The Flow
XMLTable query <stuff></stuff>
Note
XMLTable is a part of SQL/XML
XMLTable returns a rowset
It is a table function
Overview SQL/XML Functions
SQL Clause SQL/XML Function
select XMLQuery
from XMLTable
where XMLExists
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 49 / 73
53. The coursecat Table
Example
id dsc exercises
11
<course cid=” 11 ”>
<name>Database</name>
</ course>
22
<course cid=” 22 ”>
<name>OOP</name>
</ course>
<exercises>
<exercise eid=” 1 ”>
<desc>What i s OOP?</ desc>
<answer> I t . . . </ answer>
</ exercise>
</ exercises>
23
<course cid=” 33 ”>
<name>SQL</name>
</ course>
<exercises>
<exercise eid=” 1 ”>
<desc>What i s SQL?</ desc>
<answer> I t . . . </ answer>
</ exercise>
<exercise eid=” 11 ”>
<desc>What i s a query?</ desc>
<answer> I t . . . </ answer>
</ exercise>
</ exercises>
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 50 / 73
54. Outline
1 Introduction
2 From Tables to XML
Introduction
SQL/XML Publishing Functions
Quick and Dirty Publishing Functions
XML View on Relational Data
3 The XML Data Type
Introduction
oradb: Protocol
4 From XML to Tables
Introduction
A Simple Example
A Longer Example
5 Summary
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 51 / 73
55. From XML to SQL
Example (Get the Course Name)
select id , course name
from coursecat ,
XMLTable ( ’ / course ’ passing dsc
columns course name varchar2 (10) path ’name ’ )
Example (Result)
ID COURSE NAME
11 Database
22 OOP
23 SQL
Note
The passing, columns, and path keywords
/course is the row pattern, here XPath full XQuery supported
name is the column pattern, here XPath full XQuery supported
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 52 / 73
56. More Advanced XPath
Example (Multiple XML Columns)
select id , course name , no exercises
from coursecat ,
XMLTable ( ’ / course ’ passing dsc
columns course name varchar2 (10) path ’name ’ ) ,
XMLTable ( ’ / exercises ’ passing exercises
columns no exercises i n t path ’ count ( exercise ) ’ )
Example (Result)
ID COURSE NAME NO EXERCISES
22 OOP 1
23 SQL 2
Note
Multiple XMLTable calls
No join condition, recall implicitely joined
Advanced path expressions count(exercise)
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 53 / 73
57. Using in the Where Clause
Example (Find where IDs are not Matching)
select id , course id , course name
from coursecat ,
XMLTable ( ’ / course ’ passing dsc
columns course id i n t path ’@cid ’ ,
course name varchar2 (10) path ’name ’ )
where id != course id
Example (Result)
ID COURSE ID COURSE NAME
23 33 SQL
Note
Attribute used in column pattern: @cid
Element used in column pattern: name
Comparison in where clause
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 54 / 73
58. Ordinality and Default Value
Example (Find where IDs are not Matching)
select coursecat . id , num, exercise id , author
from coursecat ,
XMLTable ( ’ / exercises / exercise ’
passing exercises
columns
num f o r o r d i n a l i t y ,
exercise id i n t path ’@eid ’ ,
author varchar2 (30) path ’ author ’ default ’ Ib ’
Example (Result)
ID NUM EXERCISE ID AUTHOR
22 1 1 Ib
23 1 1 Ib
23 2 11 Ib
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 55 / 73
59. Outline
1 Introduction
2 From Tables to XML
Introduction
SQL/XML Publishing Functions
Quick and Dirty Publishing Functions
XML View on Relational Data
3 The XML Data Type
Introduction
oradb: Protocol
4 From XML to Tables
Introduction
A Simple Example
A Longer Example
5 Summary
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 56 / 73
60. Information on Course ID and Name I
Example
select coursecat . id , x . course name
from coursecat ,
XMLTable ( ’ / course ’
passing coursecat . dsc
columns
course name varchar2 (30) path ’ / course /name ’ ) x
Example (Result)
id course name
11 Database
22 OOP
23 SQL
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 57 / 73
61. Information on Course ID and Name II
Example
select coursecat . id , x . course name
from coursecat ,
XMLTable ( ’ / course ’
passing coursecat . dsc
columns
course name varchar2 (30) path ’ / course /name ’ ) x
Note
Displays relation data along side XML data!
Implicit join
Columns explicitely named and typed
XMLTable alias (x) is optional
The XPath expression in columns can only return one item (per row)!
/course can be simplified to (/)
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 58 / 73
62. Information on Course ID, Name, and Exercises I
Example
select coursecat . id , course name , exercise id
from coursecat ,
XMLTable ( ’ / ’
passing coursecat . dsc −− table −name. column−name
columns
course name varchar2 (30) path ’ / / name ’ ) ,
XMLTable ( ’ / ’
passing exercises −− only column name
columns
exercise id i n t path ’ / exercises / exercise [ 1 ] / @eid ’ )
Example (Result)
id course name exercise id
22 OOP 1
23 SQL 1
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 59 / 73
63. Information on Course ID, Name, and Exercises II
Example
select coursecat . id , course name , exercise id
from coursecat ,
XMLTable ( ’ / ’
passing coursecat . dsc −− table −name. column−name
columns
course name varchar2 (30) path ’ / / name ’ ) ,
XMLTable ( ’ / ’
passing exercises −− only column name
columns
exercise id i n t path ’ / exercises / exercise [ 1 ] / @eid ’ )
Note
Multiple XMLTable functions
Both elements and attributes are converted to tabular
The use of absolute and relative paths
Must select first exercise otherwise error
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 60 / 73
64. Information on Course ID, Name, and Exercises, cont I
Example
select coursecat . id , course name , exercise id , descr , answer
from coursecat ,
XMLTable ( ’ / ’
passing coursecat . dsc
columns
course name varchar2 (30) path ’ / / name ’ ) ,
XMLTable ( ’ / exercises / exercise ’
passing exercises
columns
exercise id i n t path ’@eid ’ ,
descr varchar2 (30) path ’ desc ’ ,
answer varchar2 (30) path ’ answer ’ )
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 61 / 73
65. Information on Course ID, Name, and Exercises, cont II
Example (Result)
id course name exercise id descr answer
22 OOP 1 What is OOP? It ...
23 SQL 1 What is SQL? It ...
23 SQL 11 What is a query? It ...
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 62 / 73
66. Information on Course ID, Name, and Exercises, cont III
Example
select coursecat . id , course name , exercise id , descr , answer
from coursecat ,
XMLTable ( ’ / ’
passing coursecat . dsc
columns
course name varchar2 (30) path ’ / / name ’ ) ,
XMLTable ( ’ / exercises / exercise ’
passing exercises
columns
exercise id i n t path ’@eid ’ ,
descr varchar2 (30) path ’ desc ’ ,
answer varchar2 (30) path ’ answer ’ )
Note
Change the XPath for exercises to a lower level
Missing information on one course
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 63 / 73
67. Information on Course ID, Name, and Exercises, cont I
Example
select coursecat . id , course name , exercise id , descr , answer
from coursecat ,
XMLTable ( ’ / ’
passing coursecat . dsc
columns
course name varchar2 (30) path ’ / / name ’ )
l e f t outer j o i n
XMLTable ( ’ / exercises / exercise ’
passing exercises
columns
exercise id i n t path ’@eid ’ ,
descr varchar2 (30) path ’ desc ’ ,
answer varchar2 (30) path ’ answer ’ ) on 1=1
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 64 / 73
68. Information on Course ID, Name, and Exercises, cont II
Example (Result)
id course name exercise id descr answer
11 Database
22 OOP 1 What is OOP? It ...
23 SQL 1 What is SQL? It ...
23 SQL 11 What is a query? It ...
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 65 / 73
69. Information on Course ID, Name, and Exercises, cont III
Example
select coursecat . id , course name , exercise id , descr , answer
from coursecat ,
XMLTable ( ’ / ’
passing coursecat . dsc
columns
course name varchar2 (30) path ’ / / name ’ )
l e f t outer j o i n
XMLTable ( ’ / exercises / exercise ’
passing exercises
columns
exercise id i n t path ’@eid ’ ,
descr varchar2 (30) path ’ desc ’ ,
answer varchar2 (30) path ’ answer ’ ) on 1=1
Note
The left outer join between the two XMLTable function calls
The on clause on 1=1
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 66 / 73
70. Filtering Based on XML Content I
Example
select x .∗
from coursecat , XMLTable ( ’ / exercises / exercise ’
passing exercises
columns
exercise id i n t path ’@eid ’ ,
descr varchar2 (30) path ’ desc ’ ,
answer varchar2 (30) path ’ answer ’ ) x
Example (Result)
exercise id descr answer
1 What is OOP? It ...
1 What is SQL? It ...
11 What is a query? It ...
Note
Too much information, i.e., no filtering
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 67 / 73
71. Filtering Based on XML Content II
Example
select x .∗
from coursecat , XMLTable ( ’ / exercises / exercise ’
passing exercises
columns
exercise id i n t path ’@eid ’ ,
descr varchar2 (30) path ’ desc ’ ,
answer varchar2 (30) path ’ answer ’ ) x
where XMLExists ( ’ / exercises / exercise [ @eid=11] ’ passing exercises )
Example (Result)
exercise id descr answer
1 What is SQL? It ...
11 What is a query? It ...
Note
The XMLExist for filtering in XML content
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 68 / 73
72. Summary: XML to Tables
Summary
The core function is XMLTable
Supported on most DBMS
Explicit naming
Cannot guess SQL column names element/attributes
Explicit typing
Cannot guess SQL data types from XML document
Result of XMLTable can be joined like other tables!
Literature
XMLTABLE by example, Part 1
Walk-through on how to handle multiple rows (five diff. ways)
www.ibm.com/developerworks/data/library/techarticle/
dm-0708nicola/
XMLTABLE by example, Part 2
On scredding large XML documents plus insert relational from XML
www.ibm.com/developerworks/data/library/techarticle/
dm-0709nicola/Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 69 / 73
73. Outline
1 Introduction
2 From Tables to XML
Introduction
SQL/XML Publishing Functions
Quick and Dirty Publishing Functions
XML View on Relational Data
3 The XML Data Type
Introduction
oradb: Protocol
4 From XML to Tables
Introduction
A Simple Example
A Longer Example
5 Summary
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 70 / 73
74. SQL/XML vs. XPath/XQuery
SQL/XML
SQL centric
Small extension to SQL
null well understood
No implicit order
Bad support hierarchies
XPath/XQuery
XML centric
New programming languages
Handling of null be aware!
Ordering (a sequence)
Excellent support hierarchies
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 71 / 73
75. SQL/XML vs. XPath/XQuery
SQL/XML
SQL centric
Small extension to SQL
null well understood
No implicit order
Bad support hierarchies
XPath/XQuery
XML centric
New programming languages
Handling of null be aware!
Ordering (a sequence)
Excellent support hierarchies
Note
SQL/XML and XQuery serve different purposes
Are not competing technologies!
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 71 / 73
76. Summary
Main Points
SQL/XML is an ISO/ANSI standard
SQL/XML example of wrapper technology
Make table look like XML documents
Well integrated into PostgreSQL, Oracle, and other DBMSs
XML data type is much smarter than a CLOB
Must look elsewhere for XML to tables
Standards
SQL/XML publishing functions added in SQL/XML:2003
XMLExists, XMLQuery, and XMLTable added in SQL/XML:2006
SQL/XML standardization faster than overall SQL standardization
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 72 / 73
77. Additional Information
Web Sites
Good SQL/XML tutorial
www.stylusstudio.com/sqlxml_tutorial.html
Advancements in SQL/XML www.sigmod.org/sigmod/record/
issues/0409/11.JimMelton.pdf
Jim Melton in SIGMOD Record
PostgreSQL and XML http:
//www.slideshare.net/petereisentraut/postgresql-and-xml
Slightly outdated, but good
Oracle’s XML Technology Center
www.oracle.com/technology/tech/xml/index.html
Get off to a fast start with DB2 9 pureXML
http://www.ibm.com/developerworks/data/library/
techarticle/dm-0603saracco2/
Part of series of papers on XML support on DB2
Kristian Torp (Aalborg University) SQL/XML on Oracle November 26, 2015 73 / 73