블로그 이미지

카테고리

데꾸벅 (194)
Publisher (39)
Scripter (97)
Programmer (1)
Designer (30)
Integrator (18)
Pattern Searcher (4)
News (2)
강좌 및 번역 (3)

최근에 올라온 글

최근에 달린 댓글

'XForms'에 해당되는 글 3건

  1. 2008.12.14 Chap03. XForms Namespace
  2. 2008.12.14 Chap02. XForms Model
  3. 2008.12.13 Chap01. XForms 소개
HTML이나 XHTML1.0에서 XForms namespace를 사용할수 있다. XHTML2.0은 아직은....

XForms Namespace:  XForms Namespace공식사이트
HTML(혹은 XHTML1.0)에서 XForms를 사용하려면 모든 XForms 엘리먼트들을 XForms 네임스페이스로 선언해야 한다. XHTML2.0에서는 이러한 네임스페이스없이도 사용될수 있다고 한다... (W3School)
아래는 XForms 네임스페이스의 사용예이다.

<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xf="http://www.w3.org/2002/xforms">
    <head>
        <xf:model>
            <xf:instance>
                <person>
                    <fname/>
                    <lname/>
                </person>
            </xf:instance>
            <xf:submission id="form1" method="get" action="techbug.php"/>
        </xf:model>
        </head>
   
    <body>
        <xf:input ref="fname">
        <xf:label>First Name</xf:label></xf:input><br />
        <xf:input ref="lname">
        <xf:label>Last Name</xf:label></xf:input><br /><br />
        <xf:submit submission="form1">
        <xf:label>Submit</xf:label></xf:submit>
    </body>
</html>
위 샘플에서는 xf: 를 XForms 네임스페이스 prefix로 사용하고 있다. 그러나 이러한 것은 사용자가 어떠한 걸로 정의하느냐에 따라 다르다. (sample.xhtml 파일로 저장하여 firefox plugin 설치후 확인한다. 단 확장자명은 반드시 .xhtml로 저장해야 한다.)

아래는 국내 모 X-Internet업체의 네임스페이스 사용예이다.
<xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns="http://www.w3.org/2002/01/xforms"
    xmlns:ev="http://www.w3.org/2001/xml-events">
 <xhtml:head>
  <xhtml:title>Untitle</xhtml:title>
  <model id="model1">
   <instance id="instance1">
    <root xmlns="">
     <example>Sample</example>
     <login>
      <userId/>
      <password/>
     </login>
    </root>
   </instance>
  </model>
 </xhtml:head>
 <xhtml:body>
  <input id="input1" ref="/root/login/userId" style="left:155px; top:70px; width:110px; height:20px; "/>
  <input id="input2" ref="/root/login/password" style="left:155px; top:95px; width:110px; height:20px; "/>
  <button id="button1" style="left:270px; top:70px; width:75px; height:45px; ">
   <caption>전송</caption>
  </button>
 </xhtml:body>
</xhtml:html>
위와 같이 처리하면 아래와 같은 화면이 출력된다.


translated by techbug




XForms 예제
아래 예제를 test.html 로 저장하여 각 브라우저에서 본 모양이다.
<xforms>
    <model>
        <instance>
            <person>
                <fname/>
                <lname/>
            </person>
        </instance>
        <submission id="form1" method="get" action="techbug.php"/>
    </model>
    <input ref="fname">
        <label>First Name</label>
    </input>
    <input ref="lname">
        <label>Last Name</label>
    </input>
    <submit submission="form1">
        <label>Submit</label>
    </submit>
</xforms>





위와 같이 XForms를 온라인으로 직접 실행해 보려면 "요기 "를 참조하기 바란다.


샘플파일 :


'Publisher > XForms' 카테고리의 다른 글

Chap02. XForms Model  (0) 2008.12.14
Chap01. XForms 소개  (0) 2008.12.13
Post by 넥스트리소프트 데꾸벅(techbug)
, |

Chap02. XForms Model

Publisher/XForms / 2008. 12. 14. 00:23

XForms Model은 form에서 수집된 데이타를 위한 템플릿을 정의한다.

XForms Framework
HTML Form의 목적은 데이타를 수집하는것이다. XForms도 마찬가지다.
XForms를 이용하며 두가지 다른 부분안에서 인풋데이타를 서술한다.
  • XForm Model (데이타와 로직)
  • XForm UI (데이타 입력 및 화면출력)

XForm Model은 어떠한 폼인지, 어떤 데이타를 포함하는지, 그래도 어떤 기능을 하는지를 정의한다.
XForm UI는 각 컨트롤 객체들이 화면에 출력되고 인풋 필드를 정의한다.


XForms Model
XForms model데이타를 설명하는데 사용되며, data model은 XML전문의 instance이며 <model>엘리먼트안에서 데이타 모델로 정의된다.

[예제]

<model>
    <instance>
        <person>
            <fname/>
            <lname/>
        </person>
    </instance>
    <submission id="form1" action="techbug.php" method="get"/>
</model>

위의 예제에서 보면 XForms는 <instance> 엘리먼트를 이용해서 수집된 데이타를 XML 템플릿으로 정의하며 <submission>엘리먼트를 통해서 데이타를 전송한다.
XForms model은 UI의 비주얼한 부분을 처리하지는 않는다.



XForms Namespace
위의 예제에서는 XForms 네임스페이스를 빼먹었는데 다음 포스트에서 소개한다.

<instance>엘리먼트
XForms model은 수집된 데이타를 정의하는데 <instance>엘리먼트를 사용한다.
위의 예제에서 data instance에서 수집된 데이타는 아래와 같이 값이 바뀌게 된다.
 

        <person>
            <fname></fname>
            <lname></lname>
        </person>

에서 데이타가 입력되면 아래와 같이 바뀐다.

        <person>
            <fname>John</fname>
            <lname>Smith</lname>
        </person>

<submission>엘리먼트 
데이타 전송시 사용되는 엘리먼트이며 어떻게 submit할건지를 결정하며 HTML의 <form>태그와 마찬가지로 id, action, method를 동일한 방식으로 표기한다.



XForms User Interface : controls
데이타의 표현과 입력을 위해 사용된다.  XForms의 UI 앨리먼트들을 XForms에서는 컨트롤(controls)라고 부른다.

 <input ref="fname"><label>First Name</label></input>
<input ref="lname"><label>Last Name</label></input>
<submit submission="form1"><label>Submit</label></submit>

 과 같이 표현하며 각각의  <input>엘리먼트와 <submi>엘리먼트표현된다. 일반 XHTML의 표기법과 약간 다르게 표현된다.


XForms는 하나의 컨테이너를 필요로 한다.
XForms는 단독으로 설계되지 않으며 XForms 문서로써도 기능을 하지 못한다.
Xforms는 또다른 XML문서안에서 실행되어야 하며 XHTML1.0에서 실행될수 있고 XHTML2.0에서도 동작될 예정이다. (데꾸벅 주 : 아직 2008.12월 현재 XHTML2.0 스펙은 W3C권고안에 없다.)

<xforms>
    <model>
        <instance>
            <person>
                <fname/>
                <lname/>
            </person>
        </instance>
        <submission id="form1" action="submit.asp" method="get"/>
    </model>
    <input ref="fname"><label>First Name</label></input>
    <input ref="lname"><label>Last Name</label></input>
    <submit submission="form1"><label>Submit</label></submit>
</xforms>

 과 같이 작성하면 다음 그림과 같이 표현된다.





XForms Processor
위의 예제에서 서브밋시 아래 XML형태로 서버로 전송하게 되며 혹은 텍스트로 전송하게 된다.

<person>
  <fname>Hege</fname>
  <lname>Refsnes</lname>
</person>

혹은 아래와 같이
fname=Hege;lname=Refsnes


translated by techbug

'Publisher > XForms' 카테고리의 다른 글

Chap03. XForms Namespace  (0) 2008.12.14
Chap01. XForms 소개  (0) 2008.12.13
Post by 넥스트리소프트 데꾸벅(techbug)
, |

Chap01. XForms 소개

Publisher/XForms / 2008. 12. 13. 14:20

현재 프로젝트에서 사용하는 국내산 X-Internet (컴스퀘어 트러스트폼)이 XForms기반이라 하여 찾다가 내용을 정리해본다.  

트러스트폼은 개인적으로 내가 모르는 소스가 밑단에서 실행되는걸 싫어해서 별로 좋아하는 솔루션은 아님에도 간단한 그리드형식 페이지나 브라우저 컨트롤의 경우는 상당히 맘에 든다.. 개발퍼포먼스는 상당히 빠른 편이다.
그러나 다른 솔루션들도 마찬가지겠지만 개발자들에게 어느정도의 권한을 주는 기능들이 별로 없어서 개발할때는 상당히 까다롭다다. 또한 API나 샘플화면의 부재는 개발상 많은 아쉬움이  남긴다.

우선 잡설은 집어치우고 트러스트폼에서 사용된 XForms에 대해서 알아보기로 한다.
현재 포스팅 중인 이 글은 w3school 내용을 번역해서 올림을 미리 알린다.. ㅡ.ㅡ;


XForms 1.0 (Second Edition) [W3C Recommendation](같은 이름의 X Window System GUI 라이브러리와 혼동하지 말라.)은 XML 데이터 프로세싱용 웹 폼 스팩으로서, 다양한 미디어를 통해 광범위한 플랫폼에서 사용할 수 있다. XForms는 폼의 목적과 표현을 분리한다. 폼이 어떤 것을 수행해야 하는지에 대한 고려 사항과 폼이 어떻게 보여질 것인가를 분리한다. 이것은 XML 콘텐트를 조작하기 위해 폼 UI를 개발할 때 사용할 수 있는 XML 어휘이다. XForms는 XHTML의 일부로 시작되었지만, 이제는 독자적인 길을 가고 있다. 어떤 사람들은 이것이 필요 이상으로 복잡하다고 지적하지만, 웹 폼이라는 복잡한 세계에 질서를 가져다 주었다. 현재 XForms 1.1 [개발 중], 가용성 향상에 초점을 맞추고 있다.

XForms를 하기전에 갖춰야 할 기반 지식
  • HTML
  • HTML Forms
  • XHTML
  • XML

XForms란 도대체 무엇이며 좋은점은?
  • 웹에서 input form을 생성하기 위해 XML을 사용하는 차세대 HTML Forms이다.  
  • HTML Forms보다 더 유연하고 풍부한 기능을 자랑한다.
  • XHTML2.0의 form기준
  • XForms는 장치(device)와 독립적인 플랫폼이다.
  • 화면단으로 부터 로직과 데이타영역을 분리한다.
  • 폼데이타를 정의하기 위해 XML을 사용한다.
  • XML 문서에 데이타를 저장하고 전송한다.
  • 폼데이타를 XML로 정의한다.
  • 폼데이타의 정합성이나 계산과 같은 기능을 가지고 있다.
  • 스크립트할 필요를 없애거나 줄여준다. (이건 아닌것 같아요...)
  • W3C의 권고안이다... 


XForms는 HTML Forms의 후계자(Successors)이다.
오늘날 많은 웹애플리케이션의 중요한 부분이 Formdlek. HTML폼은 웹애플리케이션이 사용자로 부터 입력을 받을수 있도록 해준다. HTML 폼이 HTML표준의 한파트로서 사용된후 10년째인 현재, 웹사용자들은 표준 HTML폼의 한계를 띄어넘는 복잡한 트랜잭션을 사용하고 있다.
XForms는 좀더 풍부하고, 보안성이 뛰어나며 디바이스 독립적인 방법으로 웹입력을 제공한다. 조만간 XForms-enabled된 브라우저를 사용하기를 기대한다.
(데꾸벅 주: 그러나 현재 XForms를 지원하는 브라우저는 없다. 다만 국내에서는 ActiveX를 사용하고 있다.
Firefox에서는 플러그인을 사용하여 XForms를 테스트해볼수 있다.
)

XForms는 화면단으로 부터 로직과 데이타영역을 분리한다.
Xforms는 화면단으로 부터 로직과 데이타 영역을 분리하기 위해 XML을 사용하고 있다. 이 기능은 애플리케이션으로 사용자와 소통을 원할하게 할것이다.  (데꾸벅주 : 무간섭 스크립트와 같이 쓴다면 모르겠지만.. designer


데이타 저장 및 전송을 XML로 처리
XML 문서안에서 데이타를 저장하고 XML전문을 전송하며 화면에 출력한다.

XForms는 장치에 독립적이다.
모든 장치에서 사용할수 있는 DATA MODEL때문에 device 독립적이며  서로다른 UI (모바일폰, 이동장치,점자 판독기)에서 커스터마이징할수 있다. XML에 기반한 Xforms의 장치독립성 때문에 VoiceXML이랑, WML, SVG와 같은 XML애플리케이션안에서 직접적으로 XForms elements를 추가할수 있다.

XForms는 W3C권고안이다.
XForms1.0 은 2003년 10월에 W3C 표준권고안으로 채택되었다.  권고안보기


XHTML2.0 Spec중 하나이다. [XHTML2.0]
XHTML2.0은 아래와 같은 요소로 구성되어 있다 XForms도 그중에 하나로 버젓이 등록되어 있다.. XFrames와 같이..
  • RDFa (Resource Definition Framework)
  • XForms
  • Access
  • Role
  • XML Events (XForms에서도 사용된다.. ㅡ.,ㅡ;)

Specification FPWD LC CR PR Rec
XForms 1.1 Nov 2004 Feb 2007 Nov 2007 July 2008 Sep 2008
XForms 1.2 
Streamlined for Web Authors 
(Transitional)
June 2008 Dec 2008 Mar 2009 Oct 2009 Dec 2009
XForms 2.0 Nov 2008 Sep 2009 Dec 2009 Sep 2010 Nov 2010




'Publisher > XForms' 카테고리의 다른 글

Chap03. XForms Namespace  (0) 2008.12.14
Chap02. XForms Model  (0) 2008.12.14
Post by 넥스트리소프트 데꾸벅(techbug)
, |