���绋��缁��浣�娇�ㄤ�杩�� XML 瀛��妯″���MLIndex��Query��QL/XML ���澶��浠�Oracle XML DB ���瓒���芥����骞舵�璇㈤�缁����XML �版�婧��
娉��
姝ゅ�锛��杩��浠ュ�涓��姝ラ�涓��榧���惧�姣�釜���������锛�������浇������璇ユ�楠ょ��崇�灞��������浠ラ�杩���诲�涓��骞���炬�灏�������
Oracle �版�搴�11g XML DB 寮��浜��涓�����杩�� XML 瀛��妯″������XMLIndex 绱㈠����澶��浠���伴��ц�瀛��浠ュ�妫�储缁����������� XML ��。���瓒�����������浣跨�浜��涓�RSS 婧��������瀹��渚��婕�ず杩���ㄩ�����ц������/span>
浜����XML 瀛��妯″�锛�/b>
浜����XML ���涓��瀵规�璞℃���被��
XMLType
���瀛��妯″�锛��浠ヨ��ョ����锛��璞″�绯伙����缁����(
CLOB
) 瀛���������哄��ㄦā���浜����XML 瀛�����姣��缁������ㄦ�楂��������瀛������般�绱㈠����娈垫����瀹��浠ユ�渚��������瀛���村ソ���璇㈡�����瀹��浼���朵� XML ����堕�锛�����涓���������фā������缁������ㄧ被浼硷�浜����XML 瀛��浜�В XML 妯″��版�绫诲�骞跺�浠ュ��ㄦ��烘�����版�绫诲����������瀛��绫讳技锛�����������绱㈣�绋�腑����版�杞�����缁������ㄧ被浼硷�浜����XML 瀛���������存����浜��杩���版�杩��浠ョ��ㄦ�������������瀹��浠ヤ�涓洪���� XML 浜ゆ�濯��锛�ぇ澶�����涓����互浠������歌浇宸ヤ�浠ユ�楂��浣���姐�涓��缁������ㄧ被浼硷�浜����XML �版����妗i『搴��瀛��涓�����瀛��绫讳技锛��������������浜���跺��ㄥ��版�搴�骇���绂伙�浠ユ�楂������惰�锛��������瀛��绫讳技锛��杩��瀛�����娣峰�������������杩��璁稿�渚����骇������浜����XML 瀛�������父澶���������版�锛��浜�����缁������ㄦā��腑���浼�娇�ㄥぇ������琛ㄥ��������朵�
XMLType
瀛��妯″�涓�����锛��浣�XML 妯″�浜������ョ�锛��涔��浠ラ�瀵瑰�浜�XML 妯″������娇�ㄤ�杩��瀛��锛��涓����互灏��涓�XML 妯″�瀛���ㄥ�涓�〃涓�苟璺ㄥ父瑙��绱��璇��
浜����XML ���缁����XML 瀛��妯″���XMLIndex 绱㈠�锛�/b>
B ��储寮��浠ユ�渚垮��ㄤ�缁������ㄣ�瀹�滑����存�����虹�瀵硅薄�ユ�渚���广��惰�锛��瑙e�瀛���ㄤ�杩�� XML ��
CLOB
瀹��涓�� XML ��。���缁������������э��讹�瀹�滑��父���浣�������XMLIndex ���娈�����浜����XML ���缁������ㄦā���涓�B ��储寮���ㄤ负琛ㄧず��釜 XML �������х��瑰����涔�储寮��涓��锛�font face="Courier New, Courier, mono">XMLIndex 绱㈠���父���锛�娇��
XMLIndex
缂��绱㈠����浜�XML �版��������界� XPath 琛ㄨ揪寮��杈���朵�绱㈠�缂���规�锛�font face="Courier New, Courier, mono">XMLIndex 绱㈠��锋�浠ヤ�浼��锛�/p>
XMLIndex 绱㈠����浜�SQL/XML �芥�
XMLExists()
��font face="Courier New, Courier, mono">XMLTable() ��
XMLQuery()
锛��涓���ㄦ�璇㈢�浠讳��ㄥ��芥����瀹�苟涓��浜����
WHERE
瀛��涓���������ㄤ� XML �版����浠�换浣�储寮��������杩���广�
XMLIndex ������楂��
SELECT
��〃�版���
FROM
��〃�版�������搴��瀵�XML ������灏や负������浜���扮�绱㈠���CTXXPath 绱㈠�
�ㄦ�������瑙e��ㄦ�璇�腑浣跨���XPath 琛ㄨ揪寮��XMLIndex 瀹������ㄧ�锛���轰��芥���储寮��涓����br>���
XMLIndex
绱㈠��ㄤ��轰� XML 妯″�����轰�妯″�������瀹���ㄤ�浜����XML ���缁������ㄦā���B ��储寮�����浜�互瀵硅薄�崇郴�瑰�瀛��锛�����瀛��锛���轰�妯″�������瀹��浜���ㄥ�浜����XML ��
CLOB
瀹��涓���轰� XML 妯″����������涓��
��娇��
XMLIndex
绱㈠���� XPath 琛ㄨ揪寮��琛��绱��杩��琛ㄨ揪寮������������虫�妗d腑�虹�澶������癸�����芥�绱㈠�����躲�
Oracle �版�搴��甯�� XQuery锛�/b>
�变� XQuery ������涓�W3C ���锛��姝�IT 绀惧�宸茬�寮���ュ� XML ��XQuery ���涓�娇�ㄣ�浣�负����版�搴��������棰�����Oracle �版�搴�11g ���浜��涓��浼�� Oracle �版�搴���″������������甫 XQuery 寮����� SQL �归�锛�QL/XML ���瀹��浜��绉�� XML 灏����SQL 涓�苟浣跨� XQuery ��� XML �ヨ����娉�����寮���扮� SQL �芥�锛��灏�����椤瑰伐浣��
XMLQuery()
��font face="Courier New, Courier, mono">XMLTable()��font face="Courier New, Courier, mono">XMLExists() ��
XMLCast()
锛�娇��XQuery ��� XML ��SQL �硷���racle �版�搴�11g ���杩�� SQL ����芥��ㄦ��������ㄤ腑瀹��浜�XQuery ��������SQL*Plus 涓���颁��扮� XQUERY �戒护锛�互����ㄦ��ㄥ�浠よ�涓����XQuery 琛ㄨ揪寮����� Oracle �版�搴�11g 涓�XQuery �轰��������帮�搴��绋��寮��浜哄���互浣跨���ソ��API锛��濡�JDBC��DP.NET ��Web ���锛���╃� Oracle �版�搴�XQuery �����/p>
Oracle XQuery ��ソ澶��
���瀵圭�������缁�����浜����XML 瀛��妯″�浣跨� SQL/XML XQuery �芥���储寮�ā寮��XML DB ��互浣跨�瓒���轰� DOM ��XML �ヨ����璇�及��釜�伴�绾х��ц��ヨ法涓��瀛��妯″��ц�缁�� XML �ヨ����澶��XML �ヨ���互����颁� SQL �崇郴�ヨ�杩����苟锛��澶������ヨ����������Oracle XML DB ��XML �ヨ����寤虹��ㄤ����濂界��崇郴�������虹�涔��锛�����搴������с�����с���几缂╂�����ㄦ�������涔��Oracle �版�搴�11g 涓�� XML DB �ヨ����涓洪��ㄣ���几缂┿�骞跺�浠ュ�楂���界� XML 搴��绋�����浜���ㄩ����楂������姐�
杩��涓婚���〃
寮�����绋������ㄥ�璇ワ�
瀹�� Oracle �版�搴�11g
浠�a href="http://www.mozilla.com/en-US/firefox/">姝ゅ�涓�浇骞跺�瑁���扮� Firefox 娴�����2.0 ����撮����锛�/p>
娉�/b>锛��浜�己灏��涓�DLL ��欢锛��浜�Linux ��Firefox 3.0 瀹�����娉��寮��
浠�
OTN
涓�浇骞跺�瑁�SQL Developer��/span>
涓�浇 BinaryXML.zip ��欢骞跺��惰В��缉�版���伐浣��褰�腑锛�� wkdir锛�/p>
璁剧疆������锛�font face="Courier New, Courier, mono">LD_LIBRARY_PATH���濡��濡��
ORACLE_HOME
涓�
/u01/app/oracle/product/11.1.0/db_1
锛���ц�浠ヤ����锛�
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.1.0/db_1
ORACLE_SID=orcl
PATH=$ORACLE_HOME/bin:$PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib
杩��涓婚���〃
�ц�浠ヤ�姝ラ�锛��寤轰�涓���ㄦ�锛�苟浣跨� Oracle �版�搴�11g 涓���板��ㄦ��舵�浜���ㄦ�璁块�浜��缃�������
浠ョ���
system
��韩浠借��ャ�
��� SQL Developer��/li>
��Connections ��」�′腑锛����New Connection��/li>
浣跨�浠ヤ�璇��淇℃���缓涓�釜�拌���
system
锛�
Connection Name锛�b>system
Username锛�b>system
Password锛�b>oracle
��腑 Save Password 澶��妗�br> Role锛�b>default
娴��骞惰��ュ� system
杩��涓婚���〃
涓����RSS �煎�浣跨�涓����XML 缁���ヤ唬琛ㄦ��婚」���绉��搴����� XML 缁�����浜��浜����XML 瀛��妯″��ュ��ㄣ����浣跨�浜����XML 瀛��妯″���SECUREFILE LOB 瀛���煎���互�ㄥ�寮烘��界�������瀛��绌洪���/p>
�ц�
3_1_CreateRSSItemsTable.sql
�����缓�扮�
newsItemsTable
���
Select connection
绐��涓�����
system
骞跺���
OK
��
娉ㄦ�锛��寤轰����������寮哄�瀹������х害������娉ㄦ� Oracle XML DB 濡���藉�澶�����涓�� RSS �煎�瀹����������┖�淬�
���
3_2_InsertRSSItems.sql
���������杩�唬����″�璁块�浜��缃��淇�����锛�互�存�
utl_http.set_proxy()
璋������般���
Select connection
绐��涓�����
system
骞跺���
OK
��
�板�锛��浠ユ�琛�
3_2_InsertRSSItems.sql
灏���婚」���
newsItemsTable
涓����
Select connection
绐��涓�����
system
骞跺���
OK
��
娉ㄦ����濡��浣跨�
XMLTable()
�芥�����伴�椤瑰苟灏�����
newItemsTable
涓��
杩��涓婚���〃
浣跨�浜����XML 瀛��妯″�瀛���伴�椤瑰�锛��瀵规��婚」�����缓 XMLIndex 灏�ぇ骞�����璇㈡��姐�瑕���伴�椤规�棰��琛�����绱����互��XMLIndex ��矾寰�〃涓��寤轰�涓���╂���储寮��
浠ョ���
RSS
韬�唤�ц�
4_CreateIndexes.sql
���锛�娇�ㄦ�����婚」�����XPath 瀛����缓涓�釜 XMLIndex���
Select connection
绐��涓�����
system
骞跺���
OK
��
杩����缓涓�釜杈�����绱㈠���敞��Oracle XML DB ���浣�������RSS �煎�浣跨����涓����┖�寸���/p>
杩��涓婚���〃
RSS锛��姝g�������锛�������富瑕���芥����骞惰����������浣跨�涓�� RSS �煎�����婚」������浠��濡����缓瑙�����绉�RSS �煎���RSS 瑙����/p>
�ц�
5_1_CreateRSSViews.sql
�����缓涓�釜�崇郴瑙��
newsItemsRelView
浠ヨ����浣跨�涓�� RSS �煎�����婚」���
Select connection
绐��涓�����
system
骞跺���
OK
��
娉ㄦ��ㄤ���缓璇ヨ��剧� SQL 璇��涓��
UNION ALL
瀛�����璇锋敞��娇�ㄤ�
ora:contains()
XQuery �芥��ュ��板��伴�椤规�棰���ㄦ���储�����缓浜�XMLType 瑙��
newsItemsRSSView
灏������伴�婧�RSS �煎�瑙����负�����RSS 2.0 �煎���
浣跨�浠ヤ�璇��淇℃���缓涓�釜 Sys 杩����/p>
Connection Name锛�b>sys
Username锛�b>sys
Password锛�b>
sys ���浠�/i>
��腑 Save Password 澶��妗�br> Role锛�b>sysdba
娴��骞惰��ュ� sys
�抽���� sys 杩��骞堕���
Open SQL Worksheet
�����Run Script �炬��ц�浠ヤ��戒护���
Select connection
绐��涓�����
sys
骞跺���
OK
��
exec dbms_xdb.sethttpport(8080);
select dbms_xdb.gethttpport() from dual;
��互��� Firefox 2.0 娴���ㄥ苟��� URL
http://localhost:8080/home/RSS/news2007.xml
��/span>�虹���ず���杈��浠ヤ�璇��淇℃���/p>
Username锛�b>
system
Password锛�font face="Courier New, Courier, mono">
oracle
�ㄥ����浠��涓���绘��������婚」��〃��/p>
灞���������昏�寮��
Firefox 2.0 ������缃���藉�浠ヨ��ㄥ���欢杞��涓�RSS �煎������病���瑁�Firefox 2.0锛���轰�浠�XML ��。��舰寮��绀恒�
��缓涓�釜琛ㄦ�瀛�� RSS �伴�椤�/li>
����伴�椤瑰�寤�XMLIndex
浣跨��ヨ�涓���伴�婧��缁���������������婚」��缓涓�釜 RSS 瑙��
杩��涓婚���〃
灏����疆浜���炬�涓��浠ラ�������灞�������/font>