XForms మరియు XPath

XForms డాటాను వేగంగా అడుగుకోవడానికి XPath ఉపయోగిస్తుంది. ఈ ప్రక్రియ బైండింగ్ అని పిలుస్తారు.

XForms బైండింగ్

XForms ఉపయోగిస్తుంది రెండు భాగాలను డాటాను నిర్వచించడానికి: XForms మోడల్ మరియు XForms యూజర్ ఇంటర్ఫేస్.

XForms మోడల్ అనేది డాటాకు ఉద్దేశించిన XML ట్యాంప్లేట్ (ఇన్స్టాన్స్) ఉంటుంది మరియు XForms యూజర్ ఇంటర్ఫేస్ డాటా ఇన్పుట్ మరియు ప్రదర్శన వివరణ ఉంటుంది.

XForms ఉపయోగిస్తుంది XPath ఈ రెండు భాగాలను జోడించడానికి ఉపయోగించబడుతుంది. ఇది పిలుస్తారు:బైండింగ్ (binding).

XPath

XPath వినియోగిస్తుంది. ఇది XML డాక్యుమెంట్ యొక్క వివిధ భాగాలను నిర్వచించడానికి W3C పేరాలు ఉపయోగిస్తుంది.

XPath ఎక్సిమ్ డాక్యుమెంట్ లో నోడ్స్ ను చేరుస్తుంది. ఈ అభివ్యక్తులు మీరు కంప్యూటర్ సిస్టమ్స్ లో చూసే ఫైల్ పాథ్ అభివ్యక్తులతో మాత్రమే లభ్యం అవుతాయి.

XPath అభివ్యక్తి:

/person/fname

XML డాక్యుమెంట్ లో ఫ్రేమ్ ను అడుగుకోండి:

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

మా XPath ట్యూటోరియల్ మరింత XPath గురించి తెలుసుకోండి.

రిఫ్ ఉపయోగించి బైండింగ్ చేయండి

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 ప్రకటనలో మొదటి కుర్చీ అక్షరం (/) ఎక్సిఎమ్ఎల్ డాక్యుమెంట్ రూట్ నిర్దేశిస్తుంది.

బంధించడానికి 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 ఉపయోగించడం బహుళ ఫారమ్స్ మరియు బహుళ ఇన్స్టాన్సెస్ మోడల్స్ నిర్వహించడానికి ఒక మరింత మాలినమైన పద్ధతి అవుతుంది.