XMLDB.jp

XMLDB開発支援
HOME  >  XMLDB開発支援  >  NeoCoreを使ってみる(1)

NeoCoreを使ってみる(1)

1. NeoCoreコンソール

ブラウザで下記URLを開きます。
http://(NeoCoreサーバのホスト名またはIPアドレス):7701/console


User Name: Console
Password: cybertech.xml

コンソール画面が表示されます。

「Database Access」タブをクリックし、データベースにログインします。


User Name: Administrator
Password: cybertech.xml

ログイン済み画面が表示されます。

2. XMLの検索 (XPath)

実際に検索してみます。
左メニューの「Query」リンクをクリックすると、クエリ発行画面が表示されます。

全検索します。クエリ入力欄に下記XPathを入力し「Query XML」ボタンをクリックします。
XQuery Target:
/ND


NeoCoreインストール時に管理データが登録されているため、それらがヒットし、結果表示されます。
検索結果は<Query-Results></Query-Results>タグで囲まれます。

NeoCoreではXML文書は<ND></ND>タグで囲まれ、下記のような構成で格納されます。NDはNeoDocumentを意味します。また、格納されたXML文書(ND)の順序は不定です。
/ (NeoCore)
	+- ND
	|	+- MetaData ※ 格納時にNeoCoreが生成
	|	+- XML文書
	+- ND
	|	+- MetaData
	|	+- プレフィックスデータ ※ 格納時にプレフィックスファイル(XML文書の
	|	+- XML文書                 メタデータ)を添付すると一緒に格納
	+- ND
	 :  :

各ND文書は、おおよそ下記のような内部構成となります。格納の仕方によっては、更にプレフィックスデータなどのデータが付加されます。
<ND>
	<MetaData>
		<ModifyTime>更新タイムスタンプ</ModifyTime>
		<TimeStamp>格納タイムスタンプ</TimeStamp>
		<SourceFile>ファイル名</SourceFile>
		<DocID>文書ID</DocID>
		<CopyNumber>XML文書をコピーした場合にカウントアップ,この場合DocIDは
		変わらない</CopyNumber>
	</MetaData>
	<XML文書ルートタグ>
		:   :   :
	</XML文書ルートタグ>
</ND>

もう少し管理データを検索してみます。下記XPathを入力し「Query XML」ボタンをクリックします。
{-- --}で囲んでコメントを記述できます。
XQuery Target:
{-- usernameがAdministratorの/ND/NeoCore/user-profilesを検索 --}
/ND/NeoCore/user-profiles[user/username="Administrator"]



XQuery Target:
{-- 上記XMLのMetaData --}
root(/ND/NeoCore/user-profiles[user/username="Administrator"])/MetaData



XQuery Target:
{--上から2つ目の/ND/NeoCore要素のuser-profiles/user要素--}
(/ND/NeoCore)[position()=2]/user-profiles/user



XQuery Target:
{-- /ND/NeoCore/user-profiles要素をDocIDで降順ソートし、その最後の要素のuser要素--}
(/ND/NeoCore/user-profiles sortby (../../MetaData/DocID descending))[last()]/user



XQuery Target:
{-- DocIDが1または2のXML文書の、NeoCore/user-profiles/user/username要素--}
/ND[MetaData/DocID="1" or MetaData/DocID="2"]/NeoCore/user-profiles/user/username


下記4つのクエリは、どれも同じ結果を返します。
XQuery Target:
{-- DocIDが1のXML文書の、NeoCore/user-profiles/user/username要素--}
/ND[MetaData/DocID="1"]/NeoCore/user-profiles/user/username
root(/ND/MetaData[DocID="1"])/NeoCore/user-profiles/user/username
/ND/MetaData[DocID="1"]/../NeoCore/user-profiles/user/username
/ND/NeoCore/user-profiles/user/username[../../../../MetaData/DocID="1"]


「//」を使うと、パスの途中を省略して子孫要素から検索できます。例えばHTML文書内の不特定階層に散らばる要素を一括取得するようなケースで有用です。
XQuery Target:
{-- 任意の階層のNeoCore要素、の中の任意の階層にあるusername要素 --}
//NeoCore//username


▲このページのTOPへ

  • 無償で使える!XMLDB「NeoCore」
  • サイバーテック求人情報
  • メールマガジン申し込み
  • TEchScore

  • ▲NeoCoreについて記載されています!

  • ▲XMLマスター教則本です。試験対策はこれでばっちり!
Copyright (c) CyberTech corporation ltd. All ights Reserved. | サイバーテックについて | ご利用ガイド