1 / 18

XML Storage and XPath Queries in Oracle

XML Storage and XPath Queries in Oracle. Jiankai Wu & Joel Poualeu. Outline. XML type storage models How to decide selection of models Example of creating XML type table XPath Addressing XPath Expressions XPath Data Types, Operators and Functions. XMLType Storage Models.

naiya
Download Presentation

XML Storage and XPath Queries in Oracle

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XML Storage and XPath Queries in Oracle Jiankai Wu & Joel Poualeu

  2. Outline • XML type storage models • How to decide selection of models • Example of creating XML type table • XPath Addressing • XPath Expressions • XPath Data Types, Operators and Functions

  3. XMLType Storage Models • Unstructured storage referred to as CLOB(Character Large Object) storage and text-based persistence. • Structured storage referred to as object-relational storage and object-based persistence.

  4. Structure storage

  5. How to decide • Data-centric XML documents • Document-centric XML documents • Hybrid XML documents

  6. Data-centric • Data is highly structured, with relatively static and predictable structure • Example: an employee record (fields employee number, name, address, and so on) • Employ object-relational (structured) storage

  7. registers a XML schema BEGIN DBMS_XMLSCHEMA.REGISTERSCHEMA ( SCHEMAURL =>'http://localhost/Oraxdb/OracleXMLSchema.xsd', SCHEMADOC =>BFILENAME('XML_DIR','OracleXMLSchema.xsd'), GENTABLES =>FALSE, csid=>NLS_CHARSET_ID('AL32UTF8')); END; / PL/SQLPROCEDURE successfully completed.

  8. create the schema based XML Type table CREATETABLExml_demo_structured OF XMLTYPE xmlschema"http://xmlns.oracle.com/xdb/schemas/ORADEV/localhost/Oraxdb/OracleXMLSchema.xsd" ELEMENT "EmployeeDetails" / TABLE created

  9. Insert a sample XML Type data in the table INSERTINTOxml_demo_structuredVALUES (xmltype(BFILENAME('XML_DIR','Allen.txt'),NLS_CHARSET_ID('AL32UTF8'))) / 1ROW inserted. sample text file Allen.txt

  10. Document-centric • Data is generally without structure or of variable structure • Content is mixed--elements contain large amounts of text • Stored or fetched as a complete document • Employ CLOB-based(unstructured) storage

  11. creation of a table of XMLType • CREATETABLExml_demo_unstructuredOF XMLTYPE • xmltype STORE ASclob • / • TABLE created.

  12. Structured (object-relational) storage • Optimized memory management • Reduced storage requirements • B-tree indexing • Structural flexibility is reduced Unstructured (CLOB) storage • Easy to insert and retrieve entire XML document • No data conversion is needed

  13. Hybrid storage • The mixture of structured and unstructured storage • Example: an employee record that includes a free-form resume

  14. XPATH • Addresses an XML document’s elements and attributes. • Addressing is similar to file system addressing • (/) is a path separator. • (/) starts An absolute path from the root • Relative path starts with anything else. • (..) indicates the parent of the current node. • (.) indicates the current node. • Attributes are specified by @ prefix. • [ ] can further specify an element.

  15. Xpath Addressing Example <?xml version="1.0" encoding="UTF-8"?> <a> <b> <c>Hello world!</c> <d price="$56" /> </b> </a>

  16. Xpath Expression Example <?xml version="1.0" encoding="UTF-8"?> <inventory> <other> <msg>not available</msg> </other> <item class="cleaning"> <name>Soap</name> <amount>33</amount> </item> <item class="food" type="perishable"> <name>Milk</name> <amount>56</amount> </item> </inventory>

  17. XPath Data Types and Operators and functions • XPath expressions yield either a set of nodes, a string, a Boolean (a true/false value), or a number • |+, -, *, div, mod, <, >, <=, >= • Supported functions • substring-before(string1, string2) • substring-after(string1, string2) • translate(string1, string2, string3) • normalize-space()

  18. References • "How XPath Works." Oracle Documentation. N.p., n.d. Web. 2 May 2013. <http://docs.oracle.com/javaee/1.4/tutorial/doc/JAXPXSLT3.html>. • "Introduction to Oracle XML DB." Oracle Documentation. N.p., n.d. Web. 2 May 2013. <http://docs.oracle.com/cd/B28359_01/appdev.111/b28369/xdb01int.htm>. • "XPath 2.0 Expression Syntax." The SAXON XSLT and XQuery Processor. N.p., n.d. Web. 2 May 2013. <http://saxon.sourceforge.net/saxon7.5/e

More Related