XForms Tutorial > I-1.2.4. Node-Set Binding Attributes

Form Control 또는 Action Module과 XPath에 의해 정의된 instance data node-set(Group) 간에 Binding 방법을 정의하는 속성을 말한다. 예를 들어 모델의 instance data를 정의한 후 화면의 컨트롤과 연결을 그룹 방식으로 하고자 할 경우 사용된다.


[그림] Node-Set Binding 방식


Attribute
  • nodeset : XPath 1.0 spec에 따라 표현한다. bind attribute와 함께 있을 경우 무시된다.
  • model : XForm Model selector. 바인딩하는 Element와 연관시키기 위해 XForms Model의 ID를 명시 해야 한다. Ref와 마찬가지로 model attribute 역시 bind attribute와 함께 있을 경우 무시된다.
  • bind : bind element 참조하기 바란다.


  • Comment
  • nodeset 나 bind 중 반드시 하나는 필요하고, 함께 있을 경우에는 bind 속성에 따른다.
  • XForms 프로세서에서는 model IDREF 값이 참조하는 ID가 model element가 아니거나 또는 bind IDREF 값이 참조하는 ID가 bind element가 아닌 경우 xforms-binding-exception Event을 발생시킨다.


  • Sample
    … (생략) …
     <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:bind nodeset="human/tax/taxpermonth/@during" id="duringBind" >
     <xforms:bind nodeset="human/tax/taxpermonth" id="taxpermonthBind" >
    
    …(생략)…
    
    <xforms:group>
     <xforms:label>대상금액</xforms:label>
     <xforms:input ref="human/tax/taxsource"></xforms:input>
     <br />
     <xforms:label>산출세액</xforms:label>
     <xforms:output bind="taxbillBind"></xforms:output>
     <br />
     <xforms:label>할부개월수</xforms:label>
     <xforms:input bind="duringBind"></xforms:input>
     <br />
     <xforms:label>월납입세액</xforms:label>
     <xforms:output bind="taxpermonthBind"></xforms:output>
    </xforms:group>

    댓글 없음: