CSS
Hover the classes to see matching element(s) in the example
xfInput matches an Element that represents a XForms input element
xfControl matches an Element that represents a XForms control
xfLabel matches the label part of an XForms control
xfValue matches the widget part of an XForms control
xfReadOnly matches a xforms control that is currently readonly
xfReadWrite matches a xforms control that is currently writable
xfRequired matches a xforms control that is currently required
xfOptional matches a xforms control that is currently optional
xfEnabled matches a xforms control that is currently relevant (enabled)
xfDisabled matches a xforms control that is currently disabled (can't be visualized here as the control gets hidden)
xfValid matches a xforms control that is currently valid
xfInvalid matches a xforms control that is currently invalid

# Text input control with alert, hint and help

An input element with full set of common child elements.

## Example

a text typical hint is not much more than this help for input1 -
This commonly a more long textsometimeseven with markup. In this case the author was not a lazy man and gave us detailed instruction. And he probably even invites you to dinner. But even this does not make a bar of gold of a swine. a text Hint for this input with some more text than usual. But sometime you have to say more and more - and nobody will listen anyway. But to test or not to test is not the question help for input1 -
This commonly a more long textsometimeseven with markup. invalid
readonly required relevant valid

## XForms Markup

    <xf:group>
        <xf:input ref="input1/value" incremental="true">
            <xf:label>a text</xf:label>
            <xf:hint>typical hint is not much more than this</xf:hint>
            <xf:help>help for input1 - <br></br> This commonly a more long text <b>sometimes</b> even with markup.</xf:help>
            <xf:alert>In this case the author was not a lazy man and gave us detailed instruction. And he probably even
            invites you to dinner. But even this does not make a bar of gold of a swine.</xf:alert>
        </xf:input>
        <xf:input id="input1" ref="input1/value" incremental="true">
            <xf:label>a text</xf:label>
            <xf:hint>Hint for this input with some more text than usual. But sometime you have to say more and more - and nobody will listen anyway. But
            to test or not to test is not the question</xf:hint>
            <xf:help>help for input1 - <br></br> This commonly a more long text <b>sometimes</b> even with markup.</xf:help>
            <xf:alert>invalid</xf:alert>
        </xf:input>
    </xf:group>