지난 글에 이어서 XFrom1.1에 대해 계속 알아 보겠습니다. 아무래도 구구절절 말보다는 직접 경험해 보는 좋겠죠.. 먼저 Xfrom 경험하려면 불여우(FireFox) 좋습니다. 왜냐하면 Xform Plug-in 손쉽게 설치할 있기 때문입니다.

먼저, 아래 페이지에서 플러그-인을 설치합니다.

모질라 Xforms plug-in page - https://addons.mozilla.org/ko/firefox/addon/824

By Doron Rosenberg


만일, IE에서 사용하고 싶다면 아래 플러그-인을 설치하면 됩니다.

XFormsPlayer plugin , http://www.formsplayer.com/content/index.html

노벨 플러그- :http://developer.novell.com/wiki/index.php/Special:Downloads/xforms-explorer/docs/nxsetup.msi


이들 플러그- 등을 테스트해보면 양쪽에 차이가 있습니다. 아무래도 native 코드가 다르기 때문이기도 하고 아직 표준화가 완료되지 않은 영향이 있는 같습니다. 현재 Final 단계에 있으니 조만간 확정될 것이며 노벨, 오라클, IBM 등에서 개발을 끝낸 상태이며 제공되는 형태로는 플러그인과 에디터 그리고 브라우져 등을 통해 제공될 예정입니다. 현재 오픈오피스에서도 툴바 형태로 XForm 지원하고 있습니다.


글에서는 FF 플러그-인을 기본으로 하고 Xform 대한 것을 진행하도록 하겠습니다.


<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xf="http://www.w3.org/2002/xforms">
   <head>
      <title>
1st example of XForms</title>
     
<xf:model>
        
<xf:instance xmlns="">
            <data>
              <PersonGivenName/>
            </data>
        
</xf:instance>
     
</xf:model>
   </head>


   <body>
      <p>Type in your first name in the input box. <br/>
        If you are running XForms, the output should be displayed in the output area.</p>  
         <xf:input ref="PersonGivenName" incremental="true">
            <xf:label>Please enter your first name: </xf:label>
         </xf:input>
         <br />
         <xf:output value="concat('Hello ', PersonGivenName , '. We hope you like XForms!')">
            <xf:label>Ouput: </xf:label>
         </xf:output>
   </body>
</html>


<head></head>안에는 From 모델을 정의한다. 그리고 모델을 이용하여 body에서 input 통해 데이터를 입력받고  out 통해 값을 출력하는 예제입니다. 재미난 것은 input에서 incremental라는 속성입니다. 


         <xf:input ref="PersonGivenName" incremental="true">

만약 위의 true 속성을 false 변경하면 input 통해 입력된 값이 엔터키나 탭키를 누르기 전까지 output 갱신되지 않습니다.


         <xf:input ref="PersonGivenName" incremental="false">

그리고 output에서 cancat Xpath Cancat 문자열 함수로서 문자열 인자 3개를 하나로 만들어 줍니다. 참고로 Xpath XML 문서를 탐색하고 이들 값들을 계산하고 처리하는 기능을 제공하는 질의어입니다.


이제 기본적인 Xfom 구동 환경이 완료되었고 기본이 되었다면 본격적으로 다양한 기능들을 살펴보도록 하겠습니다.




Posted by 박재현
,