2017-09-19 6 views
-1

eXist-dbの新機能です。私はすでにブラウザにXMLドキュメントを表示するアプリケーションを構築し、基本的な検索を実装しました。eXist-dbとxsltFormsを使用してxmlファイルをブラウザで編集する方法

私はデータベースとして機能する.xmlファイルを持っています。それは、次のようなレコードが含まれています。私はブラウザを介してこのファイルを編集できるようにしたいと思い

<person xml:id="pe0001"> 
    <persName> 
     <surname>Name</surname> 
     <forename>Surname</forename> 
    </persName> 
</person> 

を。たとえば、人の名前を編集したり、新しいレコードを追加することができます。

私はeXist-dbのドキュメントを見て、例を見て、wikibooksを読んでください - 私はまだ必要なものを見つけませんでした。私は、誰かが.xmlファイルに(PUTを使って)プッシュされるテキストを入力/編集できるテキストエリアが必要です。

XSLTFormsは私にとって最良の選択ですか?誰かが私にある種の方向性/示唆/例を与えるためにとても親切なことができますか?ありがとう!

答えて

0

downvote :)ありがとうございました。

ヘッド

 <xf:model> 
     <xf:instance id="data-instance" src="my.xml" xmlns="http://www.tei-c.org/ns/1.0" /> 
     <xf:submission id="read-from-file" method="get" 
      action="my.xml" replace="instance" instance="data-instance" /> 
     <xf:submission id="save-to-file" method="put" 
      action="my.xml" replace="instance" instance="data-instance" /> 
    </xf:model> 
:とにかく、私は

let $id := request:get-parameter("id", "") 

で編集したいノードのIDをつかみ、その後、このHTMLコードを返します.xqファイルを作成しています

 <xf:input xmlns="" ref="//tei:person[@xml:id='{$id}']/tei:persName/tei:surname"> 
     <xf:label>Surname</xf:label> 
    </xf:input> 
    <xf:input xmlns="" ref="//tei:person[@xml:id='{$id}']/tei:persName/tei:forename"> 
     <xf:label>Name</xf:label> 
    </xf:input> 

一度テキストを編集し、ユーザーは以下のボタンを使って、それを提出する:ユースケースに応じて、

<xf:submit submission="save-to-file"> 
     <xf:label>Save</xf:label> 
    </xf:submit> 
1

例として示したような比較的単純なレコードの場合、良いOLEフォームは最も簡単な解決策であり、実際にデータを更新するeXist-db側でXQueryスクリプトを起動します。例えば、XFormsはほとんど利益をもたらさず、確かに急な学習曲線が必要です。

0

、あなたはどのようにデフォルトでご覧になる場合がありますドキュメントアプリケーションでは、eXideの例を(loadsource.jsを使用して)開いて(実行して)みましょう。

簡単なxml編集のために、eXideは十分に機能します。

関連する問題