Tài liệu Oracle9i XML Database Developer s Guide - Oracle XML DB

Thảo luận trong 'Lập Trình' bắt đầu bởi Thúy Viết Bài, 5/12/13.

  1. Thúy Viết Bài

    Thành viên vàng

    Bài viết:
    198,891
    Được thích:
    167
    Điểm thành tích:
    0
    Xu:
    0Xu
    Oracle9i
    XML Database Developer’s Guide - Oracle XML DB (1004 pages)

    Contents
    Send Us Your Comments . xxix
    Preface xxxi
    Audience xxxii
    Organization xxxii
    Related Documentation . xxxvii
    Conventions xxxviii
    Documentation Accessibility xli
    What’s New In Oracle XML DB? . xliii
    Oracle XML DB: Oracle9i Release 2 (9.2.0.2): Enhancements xliii
    Oracle XML DB, Oracle9i Release 2 (9.2.0.1): XMLType Enhancements . xlv
    Oracle XML DB, Oracle9i Release 2 (9.2.0.1): Repository xlvii
    Oracle Tools Enhancements for Oracle XML DB . xlix
    Oracle Text Enhancements xlix
    Oracle Advanced Queuing (AQ) Support . xlix
    Oracle XDK Support for XMLType . l
    Part I Introducing Oracle XML DB
    1 Introducing Oracle XML DB
    Introducing Oracle XML DB 1-2
    Not a Separate Database Server . 1-2
    Benefits of Oracle XML DB . 1-3
    iv
    Key Features of Oracle XML DB 1-4
    Oracle XML DB and XML Schema 1-7
    Oracle XML DB Architecture 1-7
    XMLType Tables and Views Storage . 1-9
    Oracle XML DB Repository . 1-10
    XMLType Storage Architecture 1-11
    Cached XML Object Management Architecture 1-14
    XML Repository Architecture . 1-15
    Why Use Oracle XML DB? 1-16
    Unifying Data and Content with Oracle XML DB . 1-17
    Oracle XML DB Offers Faster Storage and Retrieval of Complex XML Documents 1-20
    Oracle XML DB Helps You Integrate Applications . 1-21
    When Your Data Is Not XML You Can Use XMLType Views . 1-21
    Searching XML Data Stored in CLOBs Using Oracle Text . 1-23
    Building Oracle XML DB XML Messaging Applications with Advanced Queueing . 1-23
    Managing Oracle XML DB Applications with Oracle Enterprise Manager 1-24
    Requirements for Running Oracle XML DB . 1-25
    Standards Supported by Oracle XML DB 1-25
    Oracle XML DB Technical Support . 1-26
    Terminology Used in This Manual 1-26
    Oracle XML DB Examples Used in This Manual . 1-29
    2 Getting Started with Oracle XML DB
    Getting Started with Oracle XML DB . 2-2
    Installing Oracle XML DB 2-2
    When to Use the Oracle XML DB 2-2
    Designing Your XML Application . 2-3
    Oracle XML DB Design Issues: Introduction 2-3
    a. Data . 2-3
    b. Access . 2-3
    c. Application Language 2-4
    d. Processing 2-4
    Storage 2-4
    Oracle XML DB Application Design: a. How Structured Is Your Data? 2-5
    Oracle XML DB Application Design: b. Access Models . 2-7
    v
    Oracle XML DB Application Design: c. Application Language 2-8
    Oracle XML DB Application Design: d. Processing Models 2-9
    Oracle XML DB Design: Storage Models . 2-10
    Using XMLType Tables . 2-11
    Using XMLType Views 2-12
    3 Using Oracle XML DB
    Storing Data in an XMLType Column or XMLType Table 3-3
    Accessing Data in XMLType Columns or XMLType Tables . 3-5
    Using XPath with Oracle XML DB 3-5
    Using existsNode() . 3-7
    Using extractValue() . 3-8
    Using extract() . 3-10
    Using XMLSequence() . 3-11
    Updating XML Documents with updateXML() 3-13
    Introducing the W3C XSLT Recommendation 3-15
    Using XSL/XSLT with Oracle XML DB 3-16
    Other XMLType Methods 3-17
    Introducing the W3C XML Schema Recommendation . 3-18
    Using XML Schema with Oracle XML DB 3-19
    XMLSchema-Instance Namespace . 3-21
    Validating an XML Document Using an XML Schema . 3-22
    Storing XML: Structured or Unstructured Storage . 3-24
    Data Manipulation Language (DML) Independence 3-27
    DOM Fidelity in Structured and Unstructured Storage . 3-27
    Structured Storage: XML Schema-Based Storage of XMLType . 3-28
    Structured Storage: Storing complexType Collections . 3-32
    Structured Storage: Data Integrity and Constraint Checking 3-33
    Oracle XML DB Repository 3-35
    Query-Based Access to Oracle XML DB Repository 3-37
    Using RESOURCE_VIEW . 3-37
    Using PATH_VIEW 3-37
    Creating New Folders and Documents . 3-38
    Querying Resource Documents 3-38
    Updating Resources . 3-38
    vi
    Deleting Resources . 3-39
    Storage Options for Resources . 3-40
    Defining Your Own Default Table Storage for XML Schema-Based Documents 3-40
    Accessing XML Schema-Based Content . 3-44
    Accessing Non-Schema-Based Content With XDBUriType . 3-44
    Oracle XML DB Protocol Servers . 3-44
    Using FTP Protocol Server . 3-45
    Using HTTP/WebDAV Protocol Server . 3-49
    Part II Storing and Retrieving XML Data in Oracle XML DB
    4 Using XMLType
    What Is XMLType? 4-2
    Benefits of the XMLType Data Type and API 4-3
    When to Use XMLType 4-4
    Storing XMLType Data in Oracle XML DB 4-4
    Pros and Cons of XML Storage Options in Oracle XML DB 4-5
    When to Use CLOB Storage for XMLType . 4-6
    XMLType Member Functions . 4-7
    How to Use the XMLType API . 4-7
    Creating, Adding, and Dropping XMLType Columns . 4-8
    Inserting Values into an XMLType Column . 4-9
    Using XMLType in an SQL Statement . 4-9
    Updating an XMLType Column . 4-10
    Deleting a Row Containing an XMLType Column . 4-10
    Guidelines for Using XMLType Tables and Columns . 4-11
    Specifying Storage Characteristics on XMLType Columns 4-12
    Changing Storage Options on an XMLType Column Using XMLData . 4-13
    Specifying Constraints on XMLType Columns 4-14
    Manipulating XML Data in XMLType Columns/Tables . 4-14
    Inserting XML Data into XMLType Columns/Tables 4-15
    Using INSERT Statements . 4-15
    Selecting and Querying XML Data . 4-17
    Selecting XML Data 4-17
    Querying XML Data . 4-18
    vii
    Using XPath Expressions for Searching XML Documents . 4-18
    Querying XML Data Using XMLType Member Functions 4-19
    existsNode Function . 4-20
    extract () Function . 4-21
    extractValue() Function . 4-24
    More SQL Examples That Query XML . 4-26
    Updating XML Instances and Data in Tables and Columns 4-31
    updateXML() SQL Function 4-31
    Creating Views of XML Data with updateXML() 4-35
    Optimization of updateXML() 4-35
    updateXML() and NULL Values 4-36
    Updating the Same XML Node More Than Once 4-37
    XMLTransform() Function 4-37
    Deleting XML Data . 4-38
    Using XMLType In Triggers 4-38
    Indexing XMLType Columns . 4-39
    Creating Function-Based Indexes on XMLType Columns . 4-39
    Creating Oracle Text Indexes on XMLType Columns 4-40
    5 Structured Mapping of XMLType
    Introducing XML Schema . 5-3
    XML Schema and Oracle XML DB 5-3
    Using Oracle XML DB and XML Schema 5-5
    Why Do We Need XML Schema? 5-6
    DTD Support in Oracle XML DB 5-7
    Introducing DBMS_XMLSCHEMA 5-8
    Registering Your XML Schema Before Using Oracle XML DB . 5-8
    Registering Your XML Schema Using DBMS_XMLSCHEMA 5-9
    Local and Global XML Schemas . 5-11
    Registering Your XML Schema: Oracle XML DB Sets Up the Storage and Access
    Infrastructure . 5-13
    Deleting Your XML Schema Using DBMS_XMLSCHEMA . 5-13
    Guidelines for Using Registered XML Schemas 5-14
    Objects That Depend on Registered XML Schemas 5-14
    viii
    Creating XMLType Tables, Views, or Columns . 5-15
    Validating XML Instances Against the XML Schema: schemaValidate() . 5-15
    Fully Qualified XML Schema URLs . 5-16
    Transactional Behavior of XML Schema Registration . 5-17
    Generating XML Schema Using DBMS_XMLSCHEMA.generateSchema() 5-17
    XML Schema-Related Methods of XMLType 5-19
    Managing and Storing XML Schema 5-19
    Root XML Schema, XDBSchema.xsd . 5-19
    How Are XML Schema-Based XMLType Structures Stored? 5-20
    DOM Fidelity . 5-21
    How Oracle XML DB Ensures DOM Fidelity with XML Schema . 5-21
    DOM Fidelity and SYS_XDBPD$ . 5-21
    Creating XMLType Tables and Columns Based on XML Schema . 5-22
    SQL Object-Relational Types Store XML Schema-Based XMLType Tables . 5-23
    Specifying SQL Object Type Names with SQLName, SQLType Attributes . 5-24
    SQL Mapping Is Specified in the XML Schema During Registration . 5-28
    Mapping of Types Using DBMS_XMLSCHEMA 5-31
    Setting Attribute Mapping Type Information 5-31
    Setting Element Mapping Type Information 5-31
    XML Schema: Mapping SimpleTypes to SQL . 5-33
    simpleType: Mapping XML Strings to SQL VARCHAR2 Versus CLOBs . 5-36
    XML Schema: Mapping complexTypes to SQL 5-37
    Setting the SQLInLine Attribute to FALSE for Out-of-Line Storage . 5-37
    Mapping XML Fragments to Large Objects (LOBs) 5-39
    Oracle XML DB complexType Extensions and Restrictions . 5-41
    complexType Declarations in XML Schema: Handling Inheritance . 5-41
    Mapping complexType: simpleContent to Object Types . 5-44
    Mapping complexType: Any and AnyAttributes 5-45
    Handling Cycling Between complexTypes in XML Schema 5-46
    Further Guidelines for Creating XML Schema-Based XML Tables 5-49
    Specifying Storage Clauses in XMLType CREATE TABLE Statements . 5-50
    Inserting New Instances into XMLType Columns 5-51
    Query Rewrite with XML Schema-Based Structured Storage . 5-51
    What Is Query Rewrite? . 5-51
    When Does Query Rewrite Occur? 5-52
    ix
    What XPath Expressions Are Rewritten? 5-53
    How are the XPaths Rewritten? 5-55
    Rewriting XPath Expressions: Mapping Types and Issues 5-57
    XPath Expression Rewrites for existsNode() 5-62
    Rewrite for extractValue() . 5-65
    Rewrite for extract() 5-67
    Optimizing Updates Using updateXML() 5-69
    Creating Default Tables During XML Schema Registration 5-70
    Ordered Collections in Tables (OCTs) 5-71
    Using OCT for VARRAY Storage . 5-71
    Cyclical References Between XML Schemas . 5-71
    Frequently Asked Questions (FAQs): XML DB, XML Schema-Based Issues 5-74
    Why Do I Appear to get Memory Leaks When Using Bind Variables for XPath
    Expressions? . 5-74
    How Do I Check that Query Rewrite is Working Correctly? . 5-77
    Why Does the XML DB Query Not Use My Index? 5-78
    How Do I Specify Attributes in a complexType XML Schema Declaration? 5-79
    Why Do the XML Schema and Element Not Match? 5-81
    How Do I Pull a Stylesheet From RESOURCE_VIEW [S/MIME]? . 5-82
    Why for Our XML Parser Does selectSingleNode return NULL When the xmlns
    Attribute is Added? 5-82
    Why Do I Get Error ORA-19007: Schema and Element Do Not Match? 5-84
    Is it Possible to Register XML Schema for Schemas? 5-86
    6 Transforming and Validating XMLType Data
    Transforming XMLType Instances . 6-2
    XMLTransform() and XMLType.transform() . 6-2
    XMLTransform() Examples . 6-3
    Validating XMLType Instances 6-8
    Validating XML Data Stored as XMLType: Examples . 6-10
    7 Searching XML Data with Oracle Text
    Searching XML Data with Oracle Text . 7-3
    Introducing Oracle Text . 7-3
    Assumptions Made in This Chapter’s Examples 7-4
    x
    Oracle Text Users and Roles 7-5
    Querying with the CONTAINS Operator 7-6
    Using the WITHIN Operator to Narrow Query Down to Document Sections . 7-8
    Introducing SECTION_GROUPS 7-8
    XML_SECTION_GROUP 7-8
    AUTO_ SECTION_GROUP/ PATH_SECTION_GROUP for INPATH and HASPATH 7-10
    Dynamically Adding Sections or Stop Section Using ALTER INDEX . 7-10
    WITHIN Syntax for Section Querying . 7-11
    WITHIN Operator Limitations . 7-11
    INPATH or HASPATH Operators Search Using XPath-Like Expressions 7-12
    Using INPATH Operator for Path Searching in XML Documents . 7-13
    Using HASPATH Operator for Path Searching in XML Documents 7-19
    Building a Query Application with Oracle Text . 7-21
    What Role Do You Need? 7-21
    Step 1. Create a Section Group Preference . 7-21
    Deciding Which Section Group to Use 7-23
    Creating a Section Preference with XML_SECTION_GROUP 7-23
    Creating a Section Preference with AUTO_SECTION_GROUP 7-23
    Creating a Section Preference with PATH_SECTION_GROUP 7-24
    Step 2. Set the Preference’s Attributes 7-24
    2.1 XML_SECTION_GROUP: Using CTX_DDL.add_zone_section 7-25
    2.2 XML_SECTION_GROUP: Using CTX_DDL.Add_Attr_Section . 7-25
    2.3 XML_SECTION_GROUP: Using CTX_DDL.Add_Field_Section 7-26
    2.5 AUTO_SECTION_GROUP: Using CtX_DDL.Add_Stop_Section . 7-28
    Step 3. Create an Index Using the Section Preference Created in Step 2 . 7-28
    Step 4. Create Your Query Syntax 7-30
    Querying Within Attribute Sections 7-30
    Presenting the Results of Your Query . 7-34
    XMLType Indexing . 7-35
    You Need Query Rewrite Privileges 7-35
    System Parameter is Set to the Default, CTXSYS.PATH_SECTION_GROUP . 7-36
    XMLType Indexes Work Like Other Oracle Text Indexes 7-36
    Using Oracle Text with Oracle XML DB . 7-37
    Creating an Oracle Text Index on an UriType Column 7-37
    Querying XML Data: Use CONTAINS or existsNode()? 7-38
    xi
    Full-Text Search Functions in XPath Using ora:contains 7-40
    ora:contains Features 7-40
    ora:contains Syntax . 7-40
    ora:contains Examples . 7-41
    Oracle XML DB: Creating a Policy for ora:contains() 7-42
    Oracle XML DB: Using CTXXPATH Indexes for existsNode() 7-45
    Why do We Need CTXXPATH When ConText Indexes Can Perform XPath Searches?. 7-45
    CTXXPATH Index Type 7-46
    Creating CTXXPATH Indexes 7-46
    Creating CTXXPATH Storage Preferences with CTX_DDL. Statements . 7-47
    Performance Tuning CTXXPATH Index: Synchronizing and Optimizing the Index 7-47
    Using Oracle Text: Advanced Techniques 7-49
    Highlight Support for INPATH/HASPATH Text Operators 7-49
    Distinguishing Tags Across DocTypes 7-51
    Specifying Doctype Limiters to Distinguish Between Tags . 7-51
    Doctype-Limited and Unlimited Tags in a Section Group . 7-52
    XML_SECTION_GROUP Attribute Sections . 7-52
    Constraints for Querying Attribute Sections 7-54
    Repeated Zone Sections . 7-55
    Overlapping Zone Sections . 7-55
    Nested Sections . 7-55
    Using Table CTX_OBJECTS and CTX_OBJECT_ATTRIBUTES View 7-56
    Case Study: Searching XML-Based Conference Proceedings 7-57
    Searching for Content and Structure in XML Documents 7-57
    Searching XML-Based Conference Proceedings Using Oracle Text . 7-58
    Searching Conference Proceedings Example: jsp 7-62
    Frequently Asked Questions About Oracle Text 7-65
    FAQs: General Questions About Oracle Text . 7-65
    FAQs: Searching Attribute Values with Oracle Text . 7-71
    FAQs: Searching XML Documents in CLOBs Using Oracle Text . 7-71
    xii
    Part III Using XMLType APIs to Manipulate XML Data
    8 PL/SQL API for XMLType
    Introducing PL/SQL APIs for XMLType 8-2
    Backward Compatibility with XDK for PL/SQL, Oracle9i Release 1 (9.0.1) . 8-2
    PL/SQL APIs For XMLType Features . 8-3
    With PL/SQL APIs for XMLType You Can Modify and Store XML Elements 8-4
    PL/SQL DOM API for XMLType (DBMS_XMLDOM) . 8-5
    Introducing W3C Document Object Model (DOM) Recommendation 8-5
    PL/SQL DOM API for XMLType (DBMS_XMLDOM): Features . 8-7
    Designing End-to-End Applications Using XDK and Oracle XML DB 8-8
    Using PL/SQL DOM API for XMLType: Preparing XML Data 8-9
    Generating an XML Schema Mapping to SQL Object Types . 8-10
    Wrapping Existing Data into XML with XMLType Views . 8-11
    PL/SQL DOM API for XMLType (DBMS_XMLDOM) Methods 8-11
    PL/SQL DOM API for XMLType (DBMS_XMLDOM) Exceptions 8-20
    PL/SQL DOM API for XMLType: Node Types . 8-20
    Working with XML Schema-Based XML Instances . 8-22
    DOM NodeList and NamesNodeMap Objects . 8-22
    PL/SQL DOM API for XMLType (DBMS_XMLDOM): Calling Sequence 8-23
    PL/SQL DOM API for XMLType Examples 8-24
    PL/SQL Parser API for XMLType (DBMS_XMLPARSER) . 8-26
    PL/SQL Parser API for XMLType: Features 8-26
    PL/SQL Parser API for XMLType (DBMS_XMLPARSER): Calling Sequence . 8-28
    PL/SQL Parser API for XMLType Example . 8-29
    PL/SQL XSLT Processor for XMLType (DBMS_XSLPROCESSOR) . 8-30
    Enabling Transformations and Conversions with XSLT 8-30
    PL/SQL XSLT Processor for XMLType: Features 8-30
    PL/SQL XSLT Processor API (DBMS_XSLPROCESSOR): Methods 8-31
    PL/SQL Parser API for XMLType (DBMS_XSLPROCESSOR): Calling Sequence . 8-32
    PL/SQL XSLT Processor for XMLType Example 8-33
    9 Java API for XMLType
    Introducing Java DOM API for XMLType . 9-2
    xiii
    Java DOM API for XMLType 9-2
    Accessing XML Documents Stored in Oracle9i Database (Java) . 9-2
    Using JDBC to Manipulate XML Documents Stored in a Database 9-5
    Java DOM API for XMLType Features . 9-15
    Java DOM API for XMLType Classes . 9-17
    Non-Supported Java Methods 9-18
    Java DOM API for XMLType: Calling Sequence . 9-18
    Part IV Viewing Existing Data as XML
    10 Generating XML Data from the Database
    Oracle XML DB Options for Generating XML Data From Oracle9i Database . 10-2
    Generating XML Using SQLX Functions 10-2
    Generating XML Using Oracle Extensions to SQLX . 10-2
    Generating XML Using DBMS_XMLGEN 10-2
    Generating XML Using SQL Functions . 10-2
    Generating XML with XSQL Pages Publishing Framework 10-3
    Generating XML Using XML SQL Utility (XSU) . 10-3
    Generating XML from the Database Using SQLX Functions 10-5
    XMLElement() Function 10-5
    XMLForest() Function 10-9
    XMLSEQUENCE() Function . 10-11
    XMLConcat() Function . 10-15
    XMLAgg() Function 10-17
    Generating XML from the Database Using SQLX Functions 10-20
    XMLColAttVal() Function . 10-20
    Generating XML from Oracle9i Database Using DBMS_XMLGEN 10-21
    Sample DBMS_XMLGEN Query Result . 10-21
    DBMS_XMLGEN Calling Sequence 10-22
    Generating XML Using Oracle-Provided SQL Functions 10-42
    SYS_XMLGEN() Function . 10-42
    Using XMLFormat Object Type 10-44
    SYS_XMLAGG() Function 10-51
    Generating XML Using XSQL Pages Publishing Framework . 10-52
    Generating XML Using XML SQL Utility (XSU) . 10-54
    xiv
    11 XMLType Views
    What Are XMLType Views? 11-2
    Creating Non-Schema-Based XMLType Views . 11-3
    Creating XML Schema-Based XMLType Views 11-4
    Creating XML Schema-Based XMLType Views Using SQL/XML Generation
    Functions 11-5
    Creating XMLType Views Using Object Types and Views 11-11
    Creating XMLType Views From XMLType Tables . 11-17
    Referencing XMLType View Objects Using REF() . 11-18
    DML (Data Manipulation Language) on XMLType Views 11-19
    Query Rewrite on XMLType Views . 11-20
    Query Rewrite on XML Schema-Based Views . 11-21
    Query Rewrite on Non-Schema-Based XMLType Views . 11-21
    Ad-Hoc Generation of XML Schema-Based XML 11-23
    Validating User-Specified Information . 11-24
    12 Creating and Accessing Data Through URLs
    How Oracle9i Database Works with URLs and URIs 12-2
    URI Concepts . 12-4
    What Is a URI? . 12-4
    Advantages of Using DBUri and XDBUri . 12-5
    UriTypes Store Uri-References 12-6
    Advantages of Using UriTypes 12-7
    UriType Functions 12-7
    HttpUriType Functions 12-8
    getContentType() Function . 12-9
    getXML() Function 12-9
    DBUri, Intra-Database References 12-10
    Formulating the DBUri 12-10
    Notation for DBUriType Fragments 12-13
    DBUri Syntax Guidelines . 12-13
    Some Common DBUri Scenarios . 12-15
    Identifying the Whole Table 12-15
    Identifying a Particular Row of the Table . 12-16
    Identifying a Target Column . 12-16
    xv
    Retrieving the Text Value of a Column . 12-17
    How DBUris Differ from Object References . 12-18
    DBUri Applies to a Database and Session 12-18
    Where Can DBUri Be Used? . 12-18
    DBUriType Functions 12-19
    XDBUriType . 12-20
    How to Create an Instance of XDBUriType 12-21
    Creating Oracle Text Indexes on UriType Columns 12-23
    Using UriType Objects 12-23
    Storing Pointers to Documents with UriType 12-23
    Using HttpUriType and DBUriType . 12-25
    Creating Instances of UriType Objects with the UriFactory Package 12-26
    Registering New UriType Subtypes with the UriFactory Package . 12-26
    Why Define New Subtypes of UriType? 12-29
    SYS_DBURIGEN() SQL Function . 12-29
    Rules for Passing Columns or Object Attributes to SYS_DBURIGEN() . 12-30
    SYS_DBURIGEN Examples . 12-31
    Turning a URL into a Database Query with DBUri Servlet . 12-34
    DBUri Servlet Mechanism . 12-34
    Installing DBUri Servlet . 12-36
    DBUri Security 12-37
    Configuring the UriFactory Package to Handle DBUris 12-38
    Part V Oracle XML DB Repository: Foldering, Security, and Protocols
    13 Oracle XML DB Foldering
    Introducing Oracle XML DB Foldering 13-2
    Oracle XML DB Repository 13-4
    Repository Terminology 13-4
    Oracle XML DB Resources 13-6
    Where Exactly Is Repository Data Stored? . 13-6
    Pathname Resolution . 13-7
    Deleting Resources . 13-7
    Accessing Oracle XML DB Repository Resources 13-8
    Navigational or Path Access . 13-9
    xvi
    Accessing Oracle XML DB Resources Using Internet Protocols 13-10
    Query-Based Access 13-12
    Accessing Repository Data Using Servlets 13-13
    Accessing Data Stored in Oracle XML DB Repository Resources 13-14
    Managing and Controlling Access to Resources 13-16
    Extending Resource Metadata Properties 13-17
    Frequently Asked Questions (FAQs): XML DB Repository . 13-18
    Why Does XML Repository Hierarchical Index Not Work? 13-18
    14 Oracle XML DB Versioning
    Introducing Oracle XML DB Versioning 14-2
    Oracle XML DB Versioning Features . 14-2
    Oracle XML DB Versioning Terms Used in This Chapter 14-3
    Oracle XML DB Resource ID and Path Name 14-3
    Creating a Version-Controlled Resource (VCR) . 14-4
    Version Resource or VCR Version . 14-4
    Resource ID of a New Version 14-5
    Accessing a Version-Controlled Resource (VCR) 14-6
    Updating a Version-Controlled Resource (VCR) . 14-6
    Access Control and Security of VCR . 14-8
    Frequently Asked Questions: Oracle XML DB Versioning 14-12
    Can I Switch a VCR to a Non-VCR? . 14-12
    How Do I Access the Old Copy of a VCR After Updating It? . 14-12
    Can We Use Version Control for Data Other Than Oracle XML DB Data? . 14-12
    15 RESOURCE_VIEW and PATH_VIEW
    Oracle XML DB RESOURCE_VIEW and PATH_VIEW 15-2
    RESOURCE_VIEW Definition and Structure . 15-3
    PATH_VIEW Definition and Structure . 15-4
    Understanding the Difference Between RESOURCE_VIEW and PATH_VIEW . 15-5
    Operations You Can Perform Using UNDER_PATH and EQUALS_PATH . 15-6
    Resource_View, Path_View API . 15-7
    UNDER_PATH . 15-7
    EQUALS_PATH . 15-9
    PATH 15-9
    xvii
    DEPTH 15-11
    Using the Resource View and Path View API . 15-11
    Accessing Paths and Repository Resources: Examples . 15-11
    Inserting Data into a Repository Resource: Examples 15-12
    Deleting Repository Resources: Examples 15-13
    Updating Repository Resources: Examples 15-14
    Working with Multiple Oracle XML DB Resources Simultaneously 15-15
    Tuning XML DB to Obtain Faster Queries 15-16
    Searching for Resources Using Oracle Text . 15-16
    16 Oracle XML DB Resource API for PL/SQL (DBMS_XDB)
    Introducing Oracle XML DB Resource API for PL/SQL . 16-2
    Overview of DBMS_XDB . 16-2
    DBMS_XDB: Oracle XML DB Resource Management . 16-2
    Using DBMS_XDB to Manage Resources, Calling Sequence . 16-3
    DBMS_XDB: Oracle XML DB ACL-Based Security Management . 16-5
    Using DBMS_XDB to Manage Security, Calling Sequence 16-6
    DBMS_XDB: Oracle XML DB Configuration Management . 16-8
    Using DBMS_XDB for Configuration Management, Calling Sequence . 16-9
    DBMS_XDB: Rebuilding Oracle XML DB Hierarchical Indexes 16-11
    Using DBMS_XDB to Rebuild Hierarchical Indexes, Calling Sequence . 16-11
    17 Oracle XML DB Resource API for Java
    Introducing Oracle XML DB Resource API for Java 17-2
    Using Oracle XML DB Resource API for Java 17-2
    Parameters for Oracle XML DB Resource API for Java . 17-2
    Oracle XML DB Resource API for Java: Examples . 17-3
    18 Oracle XML DB Resource Security
    Introducing Oracle XML DB Resource Security and ACLs 18-2
    How the ACL-Based Security Mechanism Works . 18-2
    Access Control List Terminology . 18-2
    Oracle XML DB ACL Features . 18-5
    ACL Interaction with Oracle XML DB Table/View Security 18-5
    xviii
    LDAP Integration and User IDs . 18-5
    Oracle XML DB Resource API for ACLs (PL/SQL) 18-5
    How Concurrency Issues Are Resolved with Oracle XML DB ACLs . 18-5
    Access Control: User and Group Access . 18-6
    ACE Elements Specify Access Privileges for Principals . 18-6
    Oracle XML DB Supported Privileges 18-7
    Atomic Privileges 18-8
    Aggregate Privileges 18-9
    ACL Evaluation Rules 18-10
    Using Oracle XML DB ACLs 18-10
    Updating the Default ACL on a Folder . 18-11
    ACL and Resource Management 18-12
    How to Set Resource Property ACLs . 18-12
    Default Assignment of ACLs 18-12
    Retrieving ACLs for a Resource . 18-13
    Changing Privileges on a Given Resource 18-13
    Restrictions for Operations on ACLs . 18-13
    Using DBMS_XDB to Check Privileges . 18-13
    Row-Level Security for Access Control Security . 18-14
    19 Using FTP, HTTP, and WebDAV Protocols
    Introducing Oracle XML DB Protocol Server 19-2
    Session Pooling 19-2
    Oracle XML DB Protocol Server Configuration Management . 19-3
    Configuring Protocol Server Parameters 19-4
    Interaction with Oracle XML DB Filesystem Resources . 19-6
    Protocol Server Handles XML Schema-Based or Non-Schema-Based XML Documents 19-7
    Event-Based Logging . 19-7
    Using FTP and Oracle XML DB Protocol Server 19-7
    Oracle XML DB Protocol Server: FTP Features 19-7
    Using HTTP and Oracle XML DB Protocol Server . 19-9
    Oracle XML DB Protocol Server: HTTP Features 19-9
    Using WebDAV and Oracle XML DB . 19-11
    Oracle XML DB WebDav Features . 19-11
    Using Oracle XML DB and WebDAV: Creating a WebFolder in Windows 2000 . 19-12
    xix
    20 Writing Oracle XML DB Applications in Java
    Introducing Oracle XML DB Java Applications . 20-2
    Which Oracle XML DB APIs Are Available Inside and Outside the Database? . 20-2
    Design Guidelines: Java Inside or Outside the Database? . 20-3
    HTTP: Accessing Java Servlets or Directly Accessing XMLType Resources . 20-3
    Accessing Many XMLType Object Elements: Use JDBC XMLType Support 20-3
    Use the Servlets to Manipulate and Write Out Data Quickly as XML . 20-3
    Writing Oracle XML DB HTTP Servlets in Java . 20-4
    Configuring Oracle XML DB Servlets 20-4
    HTTP Request Processing for Oracle XML DB Servlets . 20-8
    The Session Pool and XML DB Servlets 20-9
    Native XML Stream Support 20-9
    Oracle XML DB Servlet APIs . 20-10
    Oracle XML DB Servlet Example . 20-10
    Installing the Oracle XML DB Example Servlet . 20-11
    Configuring the Oracle XML DB Example Servlet 20-12
    Testing the Example Servlet 20-12
    Part VI Oracle Tools that Support Oracle XML DB
    21 Managing Oracle XML DB Using Oracle Enterprise Manager
    Introducing Oracle XML DB and Oracle Enterprise Manager 21-2
    Getting Started with Oracle Enterprise Manager and Oracle XML DB . 21-2
    Oracle Enterprise Manager Oracle XML DB Features . 21-3
    Configure Oracle XML DB 21-4
    Create and Manage Resources 21-4
    Manage XML Schema and Related Database Objects . 21-4
    The Enterprise Manager Console for Oracle XML DB 21-7
    XML Database Management Window: Right-Hand Dialog Windows 21-7
    Hierarchical Navigation Tree: Navigator . 21-7
    Configuring Oracle XML DB with Enterprise Manager . 21-7
    Viewing or Editing Oracle XML DB Configuration Parameters . 21-11
    Creating and Managing Oracle XML DB Resources with Enterprise Manager . 21-12
    Administering Individual Resources . 21-15
    xx
    Individual Resource Content Menu . 21-17
    Enterprise Manager and Oracle XML DB: ACL Security . 21-22
    Granting and Revoking User Privileges with User > XML Tab 21-23
    XML Database Resource Privileges 21-25
    Managing XML Schema and Related Database Objects . 21-27
    Navigating XML Schema in Enterprise Manager 21-28
    Registering an XML Schema . 21-31
    Creating Structured Storage Infrastructure Based on XML Schema 21-34
    Creating an XMLType Table . 21-35
    Creating Tables with XMLType Columns 21-37
    Creating a View Based on XML Schema . 21-39
    Creating a Function-Based Index Based on XPath Expressions 21-42
    22 Loading XML Data into Oracle XML DB
    Loading XMLType Data into Oracle9i Database 22-2
    Restoration . 22-2
    Using SQL*Loader to Load XMLType Columns . 22-2
    23 Importing and Exporting XMLType Tables
    Overview of IMPORT/EXPORT Support in Oracle XML DB 23-2
    Resource s and Foldering Do Not Fully Support IMPORT/EXPORT 23-2
    Non-XML Schema-Based XMLType Tables and Columns . 23-2
    XML Schema-Based XMLType Tables 23-2
    Guidelines for Exporting Hierarchy-Enabled Tables 23-3
    IMPORT/EXPORT Syntax and Examples . 23-4
    User Level Import/Export . 23-4
    Table Mode Export . 23-5
    Metadata in Repository is Not Exported During a Full Database Export 23-6
    Importing and Exporting with Different Character Sets 23-6
    Part VII XML Data Exchange Using Advanced Queueing
    24 Exchanging XML Data Using Advanced Queueing (AQ) and Oracle Streams
    What Is AQ? . 24-2
    How Do AQ and XML Complement Each Other? 24-2
    Oracle Streams and AQ . 24-5
    Streams Message Queuing 24-6
    XMLType Attributes in Object Types . 24-6
    Internet Data Access Presentation (IDAP) . 24-7
    IDAP Architecture 24-7
    XMLType Queue Payloads . 24-8
    Enqueue Using AQ XML Servlet . 24-10
    Dequeue Using AQ XML Servlet 24-13
    IDAP and AQ XML Schemas . 24-14
    Frequently Asked Questions (FAQs): XML and Advanced Queuing 24-14
    Can I Store AQ XML Messages with Many PDFs as One Record? . 24-14
    Do I Specify Payload Type as CLOB First, Then Enqueue and Store? . 24-15
    Can I Add New Recipients After Messages Are Enqueued? . 24-15
    How Does Oracle Enqueue and Dequeue and Process XML Messages? . 24-15
    How Can I Parse Messages with XML Content from AQ Queues? 24-16
    Can I Prevent the Listener from Stopping Until the XML Document Is Processed? 24-17
    How Can I Use HTTPS with AQ? 24-17
    What Are the Options for Storing XML in AQ Message Payloads? . 24-17
    Can We Compare IDAP and SOAP? . 24-18
    Part VIII Oracle XML DB Case Studies
    25 Oracle XML DB Case Study: Web Services Retrieve and Display XML
    Documents
    XML DB Web Services Case Study: Overview . 25-2
    What Happens When You Enter a PO Number? . 25-2
    Oracle XML Db Web Services: Main Components 25-2
    Running XML DB Web Services Case Study: Implementation Steps 25-3
    Before You Run this Case Study Demo . 25-3
    xxii
    Steps for Implementing the XML DB Web Services Case Study . 25-9
    1. Run XDBServices.java 25-10
    2. Implement GetPOXMLServlet.java 25-11
    3. Deploy XDBServices Class to the Oracle9iAS/Web Services (SOAP) Server 25-11
    4. Deploy displayPOXML.html to Display Results on Client-Side Web Server 25-12
    5. Enter a PO Number and See the Retrieved PO Displayed . 25-13
    XML DB Web Services: Calling Sequence . 25-14
    XDBServices.java 25-15
    getPOXMLServlet.java . 25-19
    26 Oracle XML DB Basic Demo
    Prerequisites for Running the XML DB Basic Demo 26-2
    Database SQL*NET and XML DB Configuration 26-3
    Verify SQL*NET and XML DB Configuration . 26-7
    Installing XML DB Basic Demo . 26-8
    Editing installParameters.xml . 26-9
    Running the Installation Script . 26-9
    What is Oracle XML DB? . 26-11
    Oracle XML DB Components 26-12
    Starting the XML DB Basic Demo 26-12
    0.1 XML DB Demo: Initial Setup (Run Once) . 26-13
    0.2 XML DB Demo: Resetting the Demo 26-14
    1.0 XML DB Demo: XML DB on localhost - WebDAV and FTP Support 26-14
    1.1 Using SQL to Make Directories 26-17
    1.2 Using FTP to Load Configuration Files . 26-19
    2.0 XML DB Demo: XML Schema - How XML DB Shreds and Stores XML . 26-22
    2.1 Registering XML Schema . 26-28
    2.2 Objects Are Created With XML Schema Registration . 26-30
    3.0 XML DB Demo: How XML Files Conform to the XML Schema 26-31
    3.1 Using FTP to Load Instance Documents . 26-33
    3.2 Using SQL to Add Constraints to XML Data . 26-34
    3.3 Using FTP to Upload XML Documents that Attempt to Violate the Constraints . 26-37
    4.0 XML DB Demo: Simple XPath Queries Against XML Documents . 26-42
    4.1 More Complex XPath Queries on XML Documents 26-44
    4.2 EXPLAIN Plan of Queries on XML Tables . 26-46
    4.3 Using extractValue() and an XPath Expression to Create XML Indexes 26-48
    4.4 Using EXPLAIN Plan to Determine if the Index is Being Used 26-49
    5.0 XML DB Demo: Using HTTP to Access XML Content 26-51
    5.1 SQL Can Display the Retrieved XML Document Through XDBUriServlet . 26-54
    5.2 Editing XML Documents with WebDAV-Enabled Tools . 26-56
    5.3 Displaying and Verifying Updates Made to XML Documents, Using SQL 26-57
    5.4 Updating XML Documents Using SQL . 26-59
    5.5 Displaying Changes Made to an XML Document Using Both XML and SQL 26-60
    6.0 XML DB Demo: Querying RESOURCE_VIEWS Using SQL 26-62
    6.1 XPath-Based Querying of RESOURCE_VIEWS Using Hierarchical Indexing 26-68
    7.0 XML DB Demo: Using Views to Access XML from Relational Tools 26-70
    7.1 Relational Views of XML Act Like Other Views 26-73
    7.2 Querying Using Rollup 26-75
    8.0 XML DB Demo: Accessing Content Using DBUriServlet; Transforming Content
    Using XSL 26-76
    8.1 PurchaseOrder Raw XML . 26-77
    8.2 Using Standard XSL Style Sheets to Transform XML Documents to HTML 26-79
    8.3 Transforming PurchaseOrder Using XSLT . 26-81
    8.4 Creating XMLType Views with SQL . 26-83
    8.5 Displaying DEPTVIEW Raw XML Using DBUriServlet 26-85
    8.6 Transforming DEPTVIEW From XML to HTML Using a Style Sheet 26-86
    8.7 Displaying the Transformed DEPTVIEW After XSL Transformation 26-87
    9.0 XML DB Demo: OracleText Examples 26-89
    A Installing and Configuring Oracle XML DB
    Installing Oracle XML DB A-2
    Installing or Reinstalling Oracle XML DB from Scratch A-2
    Installing a New Oracle XML DB with DBCA . A-2
    Dynamic Protocol Registration Registers FTP and HTTP Services with Local Listener A-3
    Installing a New Oracle XML DB Manually Without DBCA . A-4
    Reinstalling Oracle XML DB . A-4
    Upgrading an Existing Oracle XML DB Installation . A-5
    Upgrading XML DB From Release 2 (9.2.0.1) to Release 2 (9.2.0.2) . A-5
    Migrating Data From Release 2 (9.2.0.1) to Release 2 (9.2.0.2) . A-6
    Configuring Oracle XML DB A-9
    xxiv
    Oracle XML DB Configuration File, xdbconfig.xml . A-9
    Top Level Tag <xdbconfig> A-9
    <sysconfig> . A-10
    <userconfig> . A-10
    <protocolconfig> A-10
    <httpconfig> . A-10
    Oracle XML DB Configuration Example . A-11
    Oracle XML DB Configuration API A-14
    Get Configuration, cfg_get() . A-14
    Update Configuration, cfg_update() . A-14
    Refresh Configuration, cfg_refresh() A-15
    B XML Schema Primer
    Introducing XML Schema . B-2
    Purchase Order Schema, po.xsd . B-4
    XML Schema Components B-6
    Complex Type Definitions, Element and Attribute Declarations B-6
    Naming Conflicts . B-12
    Simple Types . B-13
    List Types B-17
    Union Types . B-19
    Anonymous Type Definitions . B-20
    Element Content . B-21
    Complex Types from Simple Types B-21
    Mixed Content B-22
    Empty Content . B-23
    AnyType B-24
    Annotations . B-25
    Building Content Models . B-26
    Attribute Groups B-29
    Nil Values B-31
    How DTDs and XML Schema Differ . B-31
    DTD Limitations B-33
    XML Schema Features Compared to DTD Features . B-34
    Converting Existing DTDs to XML Schema? . B-37
    XML Schema Example, PurchaseOrder.xsd . B-37
    C XPath and Namespace Primer
    Introducing the W3C XML Path Language (XPath) 1.0 Recommendation C-2
    The XPath Expression C-3
    Evaluating Expressions with Respect to a Context . C-3
    XPath Expressions Often Occur in XML Attributes C-4
    Location Paths C-5
    Location Path Syntax Abbreviations C-5
    Location Path Examples Using Unabbreviated Syntax C-5
    Location Path Examples Using Abbreviated Syntax . C-7
    Relative and Absolute Location Paths . C-9
    Location Path Syntax Summary C-10
    XPath 1.0 Data Model C-10
    Nodes . C-11
    Introducing the W3C XML Path Language (XPath) 2.0 Working Draft C-17
    XPath 2.0 Expressions . C-17
    Introducing the W3C Namespaces in XML Recommendation . C-18
    What Is a Namespace? C-19
    Qualified Names C-21
    Using Qualified Names C-21
    Namespace Constraint: Prefix Declared C-22
    Applying Namespaces to Elements and Attributes . C-23
    Namespace Scoping C-23
    Namespace Defaulting C-24
    Uniqueness of Attributes C-25
    Conformance of XML Documents C-26
    Introducing the W3C XML Information Set . C-26
    Namespaces C-27
    End-of-Line Handling . C-28
    Base URIs C-28
    Unknown and No Value . C-29
    Synthetic Infosets . C-29


    D XSLT Primer
    Introducing XSL . D-2
    The W3C XSL Transformation Recommendation Version 1.0 D-2
    Namespaces in XML D-4
    XSL Stylesheet Architecture . D-4
    XSL Transformation (XSLT) . D-5
    XML Path Language (Xpath) D-5
    CSS Versus XSL D-5
    XSL Stylesheet Example, PurchaseOrder.xsl D-6
    E Java DOM API for XMLType, Resource API for Java: Quick Reference
    Java DOM API For XMLType . E-2
    Non-Supported Java Methods E-2
    Oracle XML DB Resource API for Java . E-6
    Reference
    XMLType API . F-2
    PL/SQL DOM API for XMLType (DBMS_XMLDOM) . F-6
    PL/SQL Parser for XMLType (DBMS_XMLPARSER) F-14
    PL/SQL XSLT Processor for XMLType (DBMS_XSLPROCESSOR) . F-15
    DBMS_XMLSCHEMA . F-16
    Oracle XML DB XML Schema Catalog Views . F-19
    Resource API for PL/SQL (DBMS_XDB) . F-20
    DBMS_XMLGEN F-23
    RESOURCE_VIEW, PATH_VIEW . F-24
    DBMS_XDB_VERSION F-25
    DBMS_XDBT . F-27
    G Example Setup scripts. Oracle XML DB - Supplied XML Schemas
    Example Setup Scripts G-2
    Chapter 3 Examples Set Up Script: Creating User and Directory G-2
    Chapter 3 Examples Set Up Script: Granting Privileges, Creating Table . . G-3
    Chapter 3 Examples Script: invoice.xml . G-8
     

    Các file đính kèm:

Đang tải...
Chủ đề tương tự
  1. Thúy Viết Bài
    Trả lời:
    0
    Xem:
    343
  2. Thúy Viết Bài

    Tài liệu Tìm hiểu XML

    Thúy Viết Bài, 5/12/13, trong diễn đàn: Lập Trình
    Trả lời:
    0
    Xem:
    533
  3. Thúy Viết Bài

    Tài liệu Xml

    Thúy Viết Bài, 5/12/13, trong diễn đàn: Lập Trình
    Trả lời:
    0
    Xem:
    363
  4. Thúy Viết Bài

    Tài liệu XML in Java

    Thúy Viết Bài, 5/12/13, trong diễn đàn: Lập Trình
    Trả lời:
    0
    Xem:
    186
  5. Thúy Viết Bài
    Trả lời:
    0
    Xem:
    614