XForms Tutorial > I-1.3.3. submission element

XForms Model 하위 요소로 구성되어 있는 Submission 엘리먼트는 인스턴스 데이터를 실제 서버로 전송하는 역할을 한다. 이 엘리먼트는 HTML 폼 컬렉션 객체의 데이터를 서브밋하는 HTML Submit 컨트롤과 같은 역할을 한다. 차이점은 폼 객체의 데이터를 서브밋 하는 것이 아니라 인스턴스 데이터를 서브밋 하는 것과 그 응답 결과를 특정 인스턴스로 매핑하거나 페이지 자체를 업데이트 할 수 있는 기능이 있다는 점이다. 또한 서브밋시 여러가지 어트리뷰트를 통해서 다양한 기능을 옵션으로 제공한다. Submission 엘리먼트는 모델 하위에 여러 개가 존재할 수 있으며 그에 따라 하나의 인스턴스 데이터를 여러 개의 서버로 동시에 보낼 수 있다. 실제 이 Submission 엘리먼트를 호출하는 엘리먼트는XForms:Submit 객체이다.

Common Attributes

  • Common
Special Attributes
  • bind : bind element를 참조하며, ref attribute 보다 우선한다
  • ref : instance data를 Binding Expression을 통해 선택할 수 있다. 선택된 node와 모든 자손이 submit 된다. default = “/”
  • action : 표현된 URI에 instance Data를 submit 한다
  • method : 필수 attribute. serialized instance Data 전송 protocol을 표시한다. (default : 없음) get, put, post, form-data-post, urlencoded-post 등이 값으로 올 수 있다.
  • version : application/xml serialization 에서만 적용가능하고, XML 선언에 각 버전정보를 삽입하도록 XML serializer에게 알려준다
  • indent : application/xml serialization 에서만 적용가능하고, 가독성을 위해서 공백을 추가하도록 XML serializer에게 알려준다 (visually formatted XML). 가능한 값은 Boolean 이다
  • mediatype : serialized instance data와 연결될 internet media type을 선택한다. application/xml type과 호환하여야 하며, default이다.
  • encoding : application/xml serialization 에서만 적용가능하고, serialization을 위한 encoding을 표시한다
  • omit-xml-declaration : application/xml serialization 에서만 적용가능하고, serialized instance data에서 XML 선언이 포함되지 않도록 한다
  • standalone : application/xml serialization 에서만 적용가능하고, standalone선언이 XML 선언이 포함되도록 XML serializer에게 알려준다
  • cdata-section-elements : application/xml serialization 에서만 적용가능하고, element name을 space로 구분된 리스트로 CDATA section의 text content로 출력하도록 XML serializer에게 알려준다
  • replace : submission action으로부터 리턴된 response document 를 적용할 정보를 나타낸다. 가능한 값으로는 all, instance, none이 있고 all 이 default 이다
  • separator : urlencoding된 name/value 쌍 사이에 구분자를 적용시킨다. 가능한 값으로는 &, ; 이 있고 ; default이다
  • includenamespaceprefixes : application/xml serialization에서만 적용가능하고, instance date에 있는 모든 namespace node들 serialization에 포함한다. 가능한 값은 boolean 이다
참고사항 : CDATA , CDATA절 (character data)? 일반적으로 텍스트나 공백, 사람에게 의미 있는 정보를 제공하는 여러가지 형태의 컨텐츠를 표현하는데 이용되며, Attribute의 가장 일반적인 타입이라 할 수 있다. (즉, value 같은 것) 그와는 다른 Attribute 타입으로는 ID와 IDREF가 있는데, ID Attributes는 마치 database table의 primary key와 유사한 역할을 하고, IDREF에 의해 참조가능하다 참고사항 : XForms 1.1 XForms 1.0은 Input / Output 을 위해 Instance를 분리할 수 없었으나, XForms 1.1 에서 부터는 Request를 위한 Instance와 Response을 위한 Instance를 분리하는 방법이 Draft 문서에 추가 되었다. Output을 위한 instance를 분리하고자 할 때 사용되는 Attribute는 instance 이다.

Sample
…(생략)…
<xforms:model id="model1">
 <xforms:instance id="realData">
 <root>
  <human>
   <userid></userid>
   <username />
   <tax>
    <taxsource>0</taxsource>
   <taxbill>0</taxbill>
    <taxpermonth during="2"></taxpermonth>
   </tax>
  </human>
 </root>
</xforms:instance>
<xforms:submission replace="instance" id="submit01" method="get" mediatype="application/xml" action="http://smit21.co.kr/test.jsp" indent="1" separator="&" bind="realDataBind"/>
…(생략)…

댓글 없음: