9
Datu izgūšana no XML struktūrām select extractValue(OBJECT_VALUE, '/gramatveikals/gramata[1]/autors') GRĀMATAS from GRAMATVEIKALI; GRĀMATAS -------------------- Juris Kālis select extractValue(OBJECT_VALUE, '/gramatveikals/gramata[2]/autors') GRĀMATAS from GRAMATVEIKALI; GRĀMATAS --------------------- Anita Zemniece select extractValue(OBJECT_VALUE, '/gramatveikals/gramata [@kategorija="Pavārgrāmatas"]/autors') GRĀMATAS from GRAMATVEIKALI; GRĀMATAS ----------------- Juris Kālis XML dati Datu izguve Relācij u dati 1

Generating XML from SQL Data with SQL XML Functions file · Web viewApplies XSL transformation on XML documents in XMLTypes. EXTRACTVALUE() Returns scalar content, such as numbers

Embed Size (px)

Citation preview

Page 1: Generating XML from SQL Data with SQL XML Functions file · Web viewApplies XSL transformation on XML documents in XMLTypes. EXTRACTVALUE() Returns scalar content, such as numbers

Datu izgūšana no XML struktūrām

select extractValue(OBJECT_VALUE, '/gramatveikals/gramata[1]/autors') GRĀMATASfrom GRAMATVEIKALI;

GRĀMATAS--------------------Juris Kālis

select extractValue(OBJECT_VALUE, '/gramatveikals/gramata[2]/autors') GRĀMATASfrom GRAMATVEIKALI;

GRĀMATAS---------------------Anita Zemniece

select extractValue(OBJECT_VALUE, '/gramatveikals/gramata [@kategorija="Pavārgrāmatas"]/autors') GRĀMATASfrom GRAMATVEIKALI;

GRĀMATAS-----------------Juris Kālis

select extractValue(OBJECT_VALUE, '/gramatveikals/gramata[cena = 10.00]/autors') GRĀMATASfrom GRAMATVEIKALI_TAB;

GRĀMATAS---------------Anita Zemniece

XML dati

Datu izguve

Relāciju dati

1

Page 2: Generating XML from SQL Data with SQL XML Functions file · Web viewApplies XSL transformation on XML documents in XMLTypes. EXTRACTVALUE() Returns scalar content, such as numbers

XML datu izgūšana no relāciju datu bāzes struktūrām

create table GRAMATVEIKALI_R(GRAMATVEIKALS varchar2(20),GRAMATA varchar2(20),AUTORS varchar2(20),CENA varchar2(20));

insert into GRAMATVEIKALI_R values('Zvaigzne', 'DBS', 'Koks', 15.00);insert into GRAMATVEIKALI_R values('Zvaigzne', 'WEB', 'Zars', 35.00);insert into GRAMATVEIKALI_R values('Valters un Rapa', 'Datu bāzes', 'Celms', 25.00);insert into GRAMATVEIKALI_R values('Valters un Rapa', 'Oracle XML DB', 'Osis', 20.00);

Relāciju dati

Datu izguve

XML dati

2

Page 3: Generating XML from SQL Data with SQL XML Functions file · Web viewApplies XSL transformation on XML documents in XMLTypes. EXTRACTVALUE() Returns scalar content, such as numbers

Generating XML from SQL Data with SQL XML Functions

Function Name DescriptionxmlElement() Returns an XML element in an XMLType when given the

XML element name, an optional list of XML attributes (XMLATTRIBUTES()), and an optional list of values as the content of the new element. XMLELEMENT() can also contain other XML elements or XML fragments (XMLFOREST() ) as its children.

xmlAttributes() Used within XMLELEMENT() to specify attributes for the element.

xmlForest() Returns an XML fragment in an XMLType when given a list of named expressions for the XML elements. Each expression specifies the name of an XML element and its content.

XMLCONCAT() Returns an XML fragment in an XMLType by concatenating a list of XML elements/values.

XMLAGG() Returns an XML fragment in an XMLType by aggregating XML fragments, with the option of XML element sorting.

SYS_xmlGen() Generates an XML document with the <?XML?> prolog from one scalar type, a user-defined object type, or an instance of XMLType.

XMLSEQUENCE() Returns a collection of XMLTypes in an XMLSEQUENCEType, which is a VARRAY of XMLType instances in the database.

SYS_XMLAGG() Aggregates XML elements from one scalar type, a user-defined object type, or an instance of XMLType.

XMLCOLATTVAL() Generates a set of <column/> elements with the name attributes specifying the column names or the name aliases.

UPDATEXML() Updates XML documents in XMLTypes using XPath expressions.

XMLTRANSFORM() Applies XSL transformation on XML documents in XMLTypes.

EXTRACTVALUE() Returns scalar content, such as numbers or strings, when passed an XPath expression pointing to an XML element with only a single text child.

XML datu izgūšana no relāciju datu bāzes struktūrām

3

Page 4: Generating XML from SQL Data with SQL XML Functions file · Web viewApplies XSL transformation on XML documents in XMLTypes. EXTRACTVALUE() Returns scalar content, such as numbers

(turpinājums)

select xmlElement("gramatveikals",xmlAttributes(a.GRAMATVEIKALS as "nosaukums"),xmlForest(a.GRAMATA as "gramata")).extract('/*') as XMLfrom GRAMATVEIKALI_R a;

XML--------------------------------------------<gramatveikals nosaukums="Zvaigzne"> <gramata>DBS</gramata></gramatveikals>

<gramatveikals nosaukums="Zvaigzne"> <gramata>WEB</gramata></gramatveikals>

<gramatveikals nosaukums="Valters un Rapa"> <gramata>Datu bāzes</gramata></gramatveikals>

<gramatveikals nosaukums="Valters un Rapa"> <gramata>Oracle XML DB</gramata></gramatveikals>

4

Page 5: Generating XML from SQL Data with SQL XML Functions file · Web viewApplies XSL transformation on XML documents in XMLTypes. EXTRACTVALUE() Returns scalar content, such as numbers

XML datu izgūšana no relāciju datu bāzes struktūrām(turpinājums)

select xmlElement("gramatveikals",xmlAttributes(a.GRAMATVEIKALS as "nosaukums"),sys_xmlgen(a.GRAMATA) as "darbs",sys_xmlgen(a.AUTORS) as "rakstnieki").extract('/*') as XMLfrom GRAMATVEIKALI_R a;

XML-------------------------------------------<gramatveikals nosaukums="Zvaigzne"> <darbs> <GRAMATA>DBS</GRAMATA> </darbs> <rakstnieki> <AUTORS>Koks</AUTORS> </rakstnieki></gramatveikals>

<gramatveikals nosaukums="Zvaigzne"> <darbs> <GRAMATA>WEB</GRAMATA> </darbs> <rakstnieki> <AUTORS>Zars</AUTORS> </rakstnieki></gramatveikals>

<gramatveikals nosaukums="Valters un Rapa"> <darbs> <GRAMATA>Datu bāzes</GRAMATA> </darbs> <rakstnieki> <AUTORS>Celms</AUTORS> </rakstnieki></gramatveikals>

5

Page 6: Generating XML from SQL Data with SQL XML Functions file · Web viewApplies XSL transformation on XML documents in XMLTypes. EXTRACTVALUE() Returns scalar content, such as numbers

XML datu izgūšana no relāciju datu bāzes struktūrām(turpinājums)

select xmlElement("gramatveikals",xmlAttributes(a.GRAMATVEIKALS as "nosaukums"),xmlForest(a.GRAMATA as "gramata"),xmlForest(a.AUTORS as "autors")).extract('/*') as XMLfrom GRAMATVEIKALI_R a;

XML-------------------------------------------<gramatveikals nosaukums="Zvaigzne"> <gramata>DBS</gramata> <autors>Koks</autors></gramatveikals>

<gramatveikals nosaukums="Zvaigzne"> <gramata>WEB</gramata> <autors>Zars</autors></gramatveikals>

<gramatveikals nosaukums="Valters un Rapa"> <gramata>Datu bāzes</gramata> <autors>Celms</autors></gramatveikals>

<gramatveikals nosaukums="Valters un Rapa"> <gramata>Oracle XML DB</gramata> <autors>Osis</autors></gramatveikals>

6

Page 7: Generating XML from SQL Data with SQL XML Functions file · Web viewApplies XSL transformation on XML documents in XMLTypes. EXTRACTVALUE() Returns scalar content, such as numbers

XML datu izgūšana no relāciju datu bāzes struktūrām(turpinājums)

select xmlElement("gramatveikals",xmlAttributes(a.GRAMATVEIKALS as "nosaukums"),xmlForest(a.GRAMATA as "gramata"),sys_xmlgen(a.AUTORS) as "rakstnieki").extract('/*') as XMLfrom GRAMATVEIKALI_R a;

XML--------------------------------------------<gramatveikals nosaukums="Zvaigzne"> <gramata>DBS</gramata> <rakstnieki> <AUTORS>Koks</AUTORS> </rakstnieki></gramatveikals>

<gramatveikals nosaukums="Zvaigzne"> <gramata>WEB</gramata> <rakstnieki> <AUTORS>Zars</AUTORS> </rakstnieki></gramatveikals>

<gramatveikals nosaukums="Valters un Rapa"> <gramata>Datu bāzes</gramata> <rakstnieki> <AUTORS>Celms</AUTORS> </rakstnieki></gramatveikals>

<gramatveikals nosaukums="Valters un Rapa"> <gramata>Oracle XML DB</gramata> <rakstnieki> <AUTORS>Osis</AUTORS> </rakstnieki></gramatveikals>

7