XForms ºÍ XPath

XForms ʹÓà XPath ¶ÔÊý¾Ý¼±ÐÔѰַ¡£Õâ¸ö¹ý³Ì±»³ÆÎª°ó¶¨¡£

XForms °ó¶¨

XForms ʹÓÃÁ½¸ö²¿·ÖÀ´¶¨ÒåÊý¾Ý£ºXForms Ä£ÐÍºÍ XForms Óû§½çÃæ¡£

XForms Ä£ÐÍÊÇÕë¶ÔÊý¾ÝµÄÒ»¸ö XML Ä£°å£¨ÊµÀý£©£¬¶ø XForms Óû§½çÃæÊǶÔÊý¾ÝÊäÈëºÍÏÔʾµÄÃèÊö¡£

XForms ʹÓà XPath À´¶¨ÒåÕâ¸öÁ½¸ö²¿·ÖµÄÁ¬½Ó¡£Õâ±»³ÆÎª°ó¶¨£¨binding£©¡£

XPath

XPath ÓÃÓÚ¶¨Òå XML ÎĵµµÄ¸÷²¿·ÖµÄ W3C ±ê×¼Óï·¨¡£

XPath ʹÓ÷¾¶±í´ïʽÀ´±êʾ XML ÎĵµÖеĽڵ㡣ÕâЩ±í´ïʽÓëÄúÔÚ¼ÆËã»úϵͳÖп´µ½µÄÎļþ·¾¶±í´ïʽ·Ç³£ÀàËÆ¡£

XPath ±í´ïʽ£º

/person/fname

¶Ô XML ÎĵµÖÐµÄ fname ½Úµã½øÐÐѰַ£º

<person>
   <fname>David</fname>
   <lname>Smith</lname>
</person>

ÔÚÎÒÃÇµÄ XPath ½Ì³Ì ÖÐѧϰ¸ü¶àÓÐ¹Ø XPath µÄ֪ʶ¡£

ʹÓà Ref ½øÐаó¶¨

XForms Ä£ÐÍÊÇÕâÑùµÄ£º

<instance>
  <person>
    <name>
      <fname/>
      <lname/>
    </name>
  </person>
</instance>

XForms Óû§½çÃæ¿ÉʹÓà ref ÊôÐÔÀ´À¦°ó <input> ÔªËØ£º

<input ref="name/fname">
<label>First Name</label>
</input>

<input ref="name/lname">
<label>Last Name</label>
</input>

ÉÏÃæÀý×ÓÖÐµÄ ref="name/fname" ÊôÐÔÊÇÒ»¸öÖ¸ÏòʵÀýÄ£ÐÍÖÐ <fname> ÔªËØµÄ XPath ±í´ïʽ¡£Ëü¿É½«ÊäÈëÓòÀ¦°óµ½Õý´Ó±íµ¥ÊÕ¼¯Êý¾ÝµÄ XML Îĵµ£¨ÊµÀý£©ÖÐµÄ <fname> ÔªËØ¡£

XForms Óû§½çÃæÒ²¿ÉÒÔʹÓÃÒýÓãº

<input ref="/person/name/fname">
<label>First Name</label>
</input>
<input ref="/person/name/lname">
<label>Last Name</label>
</input>

ÔÚÉÏÃæµÄÀý×ÓÖУ¬XPath ±í´ïʽÆðʼ²¿Î»µÄÕýб¸Ü (/) ָʾ XML ÎĵµµÄ¸ù¡£

ʹÓà Bind ½øÐаó¶¨

XForms Ä£ÐÍÊÇÕâÑùµÄ£º

<model>
<instance>
  <person>
    <name>
      <fname/>
      <lname/>
    </name>
  </person>
</instance>
<bind nodeset="/person/name/fname" id="firstname"/>
<bind nodeset="/person/name/lname" id="lastname"/>
</model>

XForms Óû§½çÃæ¿ÉʹÓà bind ÊôÐÔÀ´À¦°ó <input> ÔªËØ£º

<input bind="firstname">
<label>First Name</label>
</input>

<input bind="lastname">
<label>Last Name</label>
</input>

Ϊʲô»áÓÐÁ½ÖÖ½«ÊäÈë¿Ø¼þÔªËØÀ¦°óµ½ÊµÀýÊý¾ÝµÄ·½·¨ÄØ£¿

ÔõÃ´ËµÄØ£¬µ±ÄúÔÚ¸´ÔÓµÄÓ¦ÓóÌÐòÖпªÊ¼Ê¹Óà XForms ʱ£¬Äú»á·¢ÏÖ£¬Ê¹Óà bind ½øÐаó¶¨ÊÇÒ»ÖÖ¸üÁé»îµÄ´¦Àí¶àÖØ±íµ¥ºÍ¶àÖØÊµÀýÄ£Ð͵ķ½·¨¡£

VUE