5.3.a The label Property

This property associates a label text with an instance data node. It may be expressed either with an attribute on bind or with a label element as a child of bind.

Computed Expression: No.

Legal Values: Any string.

Default Value: None.

Inheritance Rules: does not inherit.

Controls without a label element or attribute must make the label property text available to the user as part of the control. If a control has its own label element or attribute, that text is used instead.

Unless otherwise stated, a control must have a label element or attribute, or otherwise be bound to a node that has a label property.

Examples

  <bind ref="p" label="Percentage"/>

  <bind ref="co2">
      <label>CO<h:sub>2</h:sub></label>
  </bind>

5.3.b The help Property

This property associates a help text with an instance data node. It may be expressed either with an attribute on bind or with a help element as child of bind.

Computed Expression: No.

Legal Values: Any string.

Default Value: None.

Inheritance Rules: does not inherit.

Controls without a help element or attribute must make the help property text available to the user when requested. If a control has its own help element or attribute, that text is used instead.

Examples

<bind ref="cvv" label="Security Code" help="The 3-digit code on the back of your card is your CVV number/Card Security Code."/>

<bind ref="/login/password" label="Password">
  <help>Have you forgotten your password? Simply call 1-900-555-1212 and have
        a major credit card handy.</help>
</bind>

5.3.c The hint Property

This property associates a hint text with an instance data node. It may be expressed either with an attribute on bind or with a hint element as child of bind.

Computed Expression: No.

Legal Values: Any string.

Default Value: None.

Inheritance Rules: does not inherit.

Controls without a hint element or attribute must make the hint property text available to the user when requested. If a control has its own hint element or attribute, that text is used instead.

Examples

  <bind ref="creditcard" type="card-number" label="Credit card" constraint="is-card-number(.)"
      alert="Incorrect card number" hint="16 digits, spaces allowed" whitespace="remove"/>
 
  <bind ref="expires" label="Expires" constraint="matches(., '^dd/0d|dd/1[12]$')" alert="Format must be YY/MM">
    <hint appearance="minimal">YY/MM</hint>
  </bind>

5.3.d The alert Property

This property associates an alert text with type and constraint properties of a binding. It may be expressed either with an attribute on bind or as an alert element as child of bind.

Computed Expression: No.

Legal Values: Any string.

Default Value: None.

Inheritance Rules: does not inherit.

This property associates an alert text with a type property or constraint property of a binding, or both.

Controls bound to a node that fails to match its type and constraint properties must make an alert text available to the user:

Examples

  <bind ref="a" type="integer" alert="Must be an integer"/>

  <bind ref="a" type="integer">
        <alert><h:strong>Must</h:strong> be an integer"</alert>
  </bind> 

  <bind ref="b" constraint=". ne 0" alert="May not be zero"/>
 
  <bind ref="c" type="integer" constraint=". ge 0 and . le 100" alert="Must be an integer between 0 and 100"/>

  <bind ref="c" label="Percentage" type="integer" alert="Must be integer">
      <bind constraint=". ge 0 and . le 100" alert="Must be between 0 and 100"/>
  </bind>
 
  <bind ref="c" label="Percentage" type="integer" alert="Must be integer">
      <bind constraint=". ge 0 and . le 100">
           <alert><h:strong>Must</h:strong> be between 0 and 100</alert>
      </bind>
  </bind>

  <bind ref="d" label="{instance('messages')/divisor}">
      <bind type="integer"      alert="{instance('messages')/integer}"/>
      <bind constraint=". ne 0" alert="{instance('messages')/zero}"/>
  </bind>
 
  <bind ref="birth" label="Year of birth" type="integer">
      <bind constraint=". ge 1900" alert="Year must be after 1900"/>
      <bind constraint=". le ../thisyear" alert="Year can be at most {../thisyear}"/>
  </bind>
 
  <bind ref="death" label="Year of death" type="integer">
      <bind constraint=". ge 1900"        alert="Year must be after 1900"/>
      <bind constraint=". le ../thisyear" alert="Year can be at most {../thisyear}"/>
      <bind constraint=". ge ../birth"    alert="Year of death must be after year of birth ({../birth})"/>
  </bind>
 
  <bind id="age" ref="age" label="Age at death" type="integer" calculate="../death-../birth">
      <bind constraint=". ge 0"   alert="Age must be greater than or equal to zero"/>
      <bind constraint=". lt 130" alert="No one has ever lived to be that age!"/>
  </bind>