2017-09-19 13 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를 읽었다 - 아직 내가 필요한 것을 찾지 못했다. 나는 누군가가 입력/편집 할 수있는 텍스트 영역이 필요하다. (PUT을 사용하여) .xml 파일에 푸싱 될 텍스트를 입력한다.

XSLTForm이 나에게 가장 좋은 옵션입니까? 어떤 사람이 내게 어떤 종류의 방향/제안/예를 주려고 너무 친절 할 수 있습니까? 감사!

답변

0

감사합니다. downvote :). 어쨌든, 나는

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

으로 편집 할 노드의 ID를 잡고 .xq 파일을 만든 다음이 html 코드 반환

머리

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

본문

 <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 HTML 양식이 실제로 데이터를 업데이트하는 eXist-db 측에서 XQuery 스크립트를 트리거하는 가장 간단한 솔루션이 될 것이라고 생각합니다. 예를 들어, XForms는 거의 이득이 없으며 확실한 학습 곡선이 필요합니다.

0

은 사용 사례에 따라, 당신은 어떻게 기본을 살펴 할 수 있습니다 documentation app는 사용자에게 eXide (loadsource.js 사용)의 예제를 열고 실행하도록합니다.

간단한 xml 편집을 위해 eXide는 충분히 사용할 수 있습니다.