浣跨�浜����XML ��XMLIndex �ヨ���苟�ヨ������� XML �版�婧�/h3>

���绋��缁��浣�娇�ㄤ�杩�� XML 瀛��妯″���MLIndex��Query��QL/XML ���澶��浠�Oracle XML DB ���瓒���芥����骞舵�璇㈤�缁����XML �版�婧��

澶х害 1 灏�� 30 ���

���绋�������富棰��

灏����疆浜���炬�涓�/font> ��互��浇���������������骞���俱� 锛�������负姝ゆ�浣�������浇���灞�����锛��浠ョ�����㈡�锛��搴���村��戒�姣���裤�锛�/strong>

娉�� 姝ゅ�锛��杩��浠ュ�涓��姝ラ�涓��榧���惧�姣�釜���������锛�������浇������璇ユ�楠ょ��崇�灞��������浠ラ�杩���诲�涓��骞���炬�灏�������

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

杩��涓婚���〃

��缓涓�釜�扮��峰苟���蹇�������/span>

�ц�浠ヤ�姝ラ�锛��寤轰�涓���ㄦ�锛�苟浣跨� 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 婧��淇℃�

    RSS锛��姝g�������锛��������涓�XML ��。��URL锛�ML ��。�����RSS �煎����绉��浣��RSS �煎���XML ��。����伴�椤广����灏��寤轰�涓�〃�ュ��ㄦ��宠���� RSS 婧��淇℃���/p>

    �ц� 2_1_CreateFeedsTable.sql �����缓�扮� rssfeeds 琛ㄣ��� Select connection 绐��涓����� system 骞跺��� OK ��

    杩��涓婚���〃

    ��缓涓�釜琛ㄦ�瀛�� RSS �伴�椤�/span>

    涓����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 涓��

    杩��涓婚���〃

    ����伴�椤瑰�寤�XMLIndex

    浣跨�浜����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>