지난 글에 이어서 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 박재현
,

지난 번 XTech참관기에서 정리한 1편 글에 이어 XForm에 대해 살펴보도록 하겠습니다. XForm 자체가 XML이자 XHTML2 부분이기 때문에  기존의 HTML Form 비해 다양한 이점들이 있습니다.


  • XML이기 때문에 기본적으로 국제화를 지원합니다.
  • Device 독립적입니다. 별도로 다른 디바이스를 위해 변경해야 필요가 없습니다.
  • 외부에서 XForm 채워진 데이터를 로딩하여 처리하는 기존 XML 같은 방법으로 동일하게 처리할 있다. 이렇게 하면 Form값을 채우기 위해 서버와 핑퐁을 하지 않아도 되겠죠. 바로 비동기 처리가 가능하게 됩니다.
  • XForm 값을 계산하고 addressing하기 위해 Xpath 사용하고 데이터 타입을 정의하는 있어 XMLschema 사용하는 기존의 XML 표준을 사용하며 SAOP, XLMRPC 등 기존의 데이터 처리 방법과 함께 통합되어 사용된다.
  • Intent-based controls , 단순히 UI 구성하는 것만이 아니라 해당 폼에 입력되는 값을 분리하여 이를 직접 조정할 있게 한다. 이렇게 함으로써 다음과 같은 것들이 가능합니다.

  • 폼에 입력된 값들을 서버로 보내지 않고도 다양하게 조작할 있다. 실제 Ajax 프로그램을 하지 않고도 비동기 처리가 가능하다. 이를 통해 User experience 강화할 있다. 또한 합산시 바로 계산이 되어 보여지게 됩니다.
  • Types 체킹도 별도의 체크 코드를 작성할 필요없이 XForm자체에서 명시하면 됩니다. 또한 계산(수식,스트링,) 자체적으로 지원되기 때문에 불필요한 코딩을 하지 않아도 효과 만점입니다.
  • Attribute 동기,비동기(기본) submission 지원하고 delete 추가되고 텍스트로 결과를 받은 특정 부분을 다른 값으로 대체로 가능합니다.


이런 특징들이 있기에 XForm 단순히 기존의 From 대체한다기 보다는 클라이언트측의 개발에 있어 새로운 템플릿 역할을 하며 Aajx 프로그래밍 없이도 미려한 UI 효과를 제공할 있습니다. 또한 값과 UI 분리되기 때문에 같은 폼을 웹과 핸드폰 다양한 브라우져와 디바이스에 두루 적용할 있습니다.


  • 그렇다면 Xform으로 적용 가능한 새로운 응용에는 어떤 것들이 있을까요?
    • Regular form - 기존 폼을 완벽히 대처할 있다.
    • Editing XML
    • Spreadsheets
    • Applications  - UI와 데이터 분리되고 수식 기능을 제공하기 때문에 자체로서 응용 프로그램 개발 프레임웍으로 사용할 있다. 
    • output transformation - XML 정보를 주고 받기 때문에 처리 결과에 대한 변환이 가능하다.

다음에는 Xform 예제를 돌려보면서 앞서 설명한 기능들을 확인해 보겠습니다.^-^


Posted by 박재현
,