2012-01-07 3 views
1

私はxmlデータベースが初めてで、xmlファイルのクエリに関する多くのチュートリアルを読んでいます。これらのチュートリアルでは、実際にクエリ情報を入力する場所は1つではありません。たとえば、w3schoolsはクエリのパス式の記述方法について詳しく説明していますが、入力する場所は何もありません。xpathを使用してXML文書を照会するときにXPath照会は実際にどこに入力されますか?

(これらのチュートリアルサイトでは、実際にクエリを入力する場所はありません。これらのXMLパスのクエリについて話しています。無限の例を表示しますが、実際にQUERYに入力してください。これらの人たちがこれらのチュートリアルをどのように書くことができ、新人が知る必要がある最も明白なことを見逃すことはありません!ありがとう)

+1

あなたは "xmlデータベース"と言います - **データベースは何でしょうか? –

+0

私は最初からネイティブXMLデータベースを作成することを話しています。私はmysqlから離れて進化するために、スキーマの柔軟性(eavリレーショナルモデルに似ています)、オブジェクトの向き、およびテキスト形式がmysqlアプリケーションに埋め込まれているために進化しています。 –

答えて

0

あなたはXMLを操作するために書いている言語ファイル。例えばPHPではPHPDomを使用してXMLファイルをロードし、次にDOMXPathを使用してクエリを実行します。

「どこに書き込むか」と言うと、xpathは無意味です。 XPathはプログラミング言語ではありません。これは、XMLファイル内のデータを検索するための構文定義です。それはI/O能力を全く持たず、単にXMLライブラリに何を探すかを伝えるだけです。そのxmlライブラリにアクセスする方法は、XPathのperview外です。

+0

ありがとう、ありがとう。これは、軽量アプリケーションのためのPHP/mysqlのより簡単な代替方法として考えてみたいと思っていましたが、PHP/MySQLに固執するよりも多くの実装作業を節約できるようには見えません。 –

+0

OK、私はついにこれを理解します。 PHPでmysqlにアクセスするのと同様です。 –

+0

まあまあです。 PHPはSQLについて何も理解していません。しかし、PHPを使ってSQLを生成し、それをデータベースに送ります。同様に、あなたはxpathを "使用"しないので、評価のためにいくつかのエンジンに送られるxpath式を書いて、結果を返すことができます。 –

2

XPathは、スタンドアロンの言語ではありません - それは、常にホストプログラミング言語によってホストされている - などのC#やJava、VB、PHP、...、など

書かれたプログラムとして特定のPL内のXPath式を評価するためのルールに従う必要があります。通常は、そのためのオブジェクトと関数のセットを提供するXPath指向のAPIがあります。多くの場合、ノードを選択するXPath式はパラメータとして1つの関数に渡されますが、XPath式の評価結果はノード(たとえば文字列または数値)のセットではなく、別の関数にパラメータとして渡されます。

例えば、C#では一つXPathDocumentXmlNodeXmlDocumentSelectNodes()又はSelectSingleNode()方法を使用することができる - XPath式のいずれかのタイプを評価し、XPathDocumentEvaluate()方法 - ノードのセットまたは単一ノードを選択します(ノードを選択するノードだけでなく)。 XPathの、2のホスト間

は著しく異なっている:XSLTとXQueryは、完全にXPathのを統合する - 彼らはネイティブのXPathを使用する - それは言語の一部であるため、明示的なXPath評価関数がで呼び出される必要はありませんこれら2つの言語。開発者は、2つの異なる世界、すなわちPL世界とXPath世界との間で切り替えることによって注意をそらす必要はありません。

XPathは、XSLT/XQueryの世界に自然に統合された部分です。

私の経験上、XSLTやXQueryはXPathを使うのが最も便利な言語です。

関連する問題