2.4.1.20 Text Box Control

The text box control allows the user to enter simple text in the form. A TEXT_BOX_CONTROL MUST have one of the symbols in the following table.

Symbol

Description

SIMPLE_TEXT_BOX

The text box with no conditional formatting, multiple lines, placeholder text, or data formatting.

TEXT_BOX_WITH_CONDITIONAL_FORMATTING

The text box with conditional formatting.

SIMPLE_TEXT_BOX_MULTI_LINE

The text box that allows multiple lines input.

TEXT_BOX_MULTI_LINE_WITH_CONDITIONAL_FORMATTING

The text box with conditional formatting and multiple lines input.

SIMPLE_TEXT_BOX_WITH_DATA_FORMATTING

The text box with data formatting.

TEXT_BOX_WITH_CONDITIONAL_FORMATTING_AND_DATA_FORMATTING

The text box with data formatting and conditional formatting.

SIMPLE_TEXT_BOX_WITH_PLACEHOLDER_TEXT

The text box with placeholder text. The placeholder text is ignored by the form server.

SIMPLE_TEXT_BOX_WITH_PLACEHOLER_TEXT_AND_DATA_FORMATTING

The text box with placeholder text and data formatting. The placeholder text is ignored by the form server.

TEXT_BOX_MULTI_LINE_PLACEHOLDER_TEXT

The text box that allows multiple lines input and has placeholder text. The placeholder text is ignored by the form server.

TEXT_BOX_MULTI_LINE_CONDITIONAL_FORMATTING_AND_PLACEHOLDER_TEXT

The text box that allows multiple lines input and has placeholder text with conditional formatting. The placeholder text is ignored by the form server.

TEXT_BOX_WITH_CONDITIONAL_FORMATTING_AND_PLACEHOLDER_TEXT

The text box that has placeholder text with conditional formatting. The placeholder text is ignored by the form server.

TEXT_BOX_WITH_CONDITIONAL_FORMATTING_AND_PLACEHOLDER_TEXT_AND_DATA_FORMATTING

The text box that has placeholder text with conditional formatting and data formatting. The placeholder text is ignored by the form server.

TEXT_BOX_EDITING: contentEditable="true" or xd:disableEditing="yes" or contentEditable="true" xd:disableEditing="yes".

TEXT_BOX_AUTOADVANCE: xd:autoAdvance="yes".

WHITESPACE_NO_WRAP: WHITE-SPACE: nowrap.

TEXT_BOX_OUTPUT_ESC: disable-output-escaping="yes".

TEXT_BOX_STYLE: Semicolon-delimited list of (STYLE_SIZE?, STYLE_MARGIN?, STYLE_PADDING?, STYLE_TEXT_DECORATION?, STYLE_BACKGROUND_COLOR?, STYLE_BORDER?, STYLE_FONT?, STYLE_COLOR?, WHITESPACE_NO_WRAP?, STYLE_WIDTH?, STYLE_WRAP?, STYLE_TEXT_ALIGN?, (OVERFLOW-Y: auto; OVERFLOW-X: auto;)?, STYLE_VERTICAL_ALIGN?, STYLE_DIRECTION?)

TEXT_BOX_STYLE_CONDITIONAL_FORMATTING: Semicolon-delimited list of (STYLE_TEXT_DECORATION?, STYLE_BACKGROUND_COLOR?, STYLE_FONT?, STYLE_COLOR?, STYLE_TEXT_ALIGN?)

TEXT_BOX_BASE_CLASS_NAME: xdTextBox or xdTextBoxRTL.

SIMPLE_TEXT_BOX:

 <span class="TEXT_BOX_BASE_CLASS_NAME" hideFocus="1" title="ANY_STRING" xd:binding="LEAF_XPATH1"
     tabIndex="TAB_INDEX"  xd:xctname="PlainText" xd:CtrlId="CONTROL_ID" 
     (TEXT_BOX_EDITING)? style="TEXT_BOX_STYLE" (TEXT_BOX_AUTOADVANCE)?
     (xd:postbackModel="POSTBACKMODEL")? (accessKey="SINGLE_CHARACTER")? (INPUT_SCOPE)?>
     CHECK_FOR_GETDOM_BEGIN1
     <xsl:value-of select="LEAF_XPATH1" TEXT_BOX_OUTPUT_ESC? />
     CHECK_FOR_GETDOM_END1
 </span>

TEXT_BOX_WITH_CONDITIONAL_FORMATTING:

 <span class="TEXT_BOX_BASE_CLASS_NAME" hideFocus="1" title="ANY_STRING" xd:binding="LEAF_XPATH1" (style="TEXT_BOX_STYLE")?
     tabIndex="TAB_INDEX" xd:xctname="PlainText" xd:CtrlId="CONTROL_ID" 
     (TEXT_BOX_EDITING)? (TEXT_BOX_AUTOADVANCE)?
     (xd:postbackModel="POSTBACKMODEL")? (accessKey="SINGLE_CHARACTER")? (INPUT_SCOPE)?>
         CHECK_FOR_GETDOM_BEGIN1
         TEXT_BOX_CONDITIONAL_FORMATTING
         <xsl:value-of select="LEAF_XPATH1" TEXT_BOX_OUTPUT_ESC? />
         CHECK_FOR_GETDOM_END1
 </span>

TEXT_BOX_CONDITIONAL_FORMATTING: TEXT_BOX_CONDITIONAL_FORMATTING_ATT (TEXT_BOX_CONDITIONAL_FORMATTING_CHOOSE)? or TEXT_BOX_CONDITIONAL_FORMATTING_CHOOSE

TEXT_BOX_CONDITIONAL_FORMATTING_ATT:

 <xsl:attribute name="style">TEXT_BOX_STYLE<xsl:choose>
         (<xsl:when test="BOOLEAN_XPATH_EXPRESSION">STYLE_DISPLAY_NONE</xsl:when>|
         <xsl:when test="BOOLEAN_XPATH_EXPRESSION"/>|
         <xsl:when test="BOOLEAN_XPATH_EXPRESSION">TEXT_BOX_STYLE_CONDITIONAL_FORMATTING
         </xsl:when>)+
     </xsl:choose>
 </xsl:attribute>

TEXT_BOX_CONDITIONAL_FORMATTING_CHOOSE:

 <xsl:choose>
     (<xsl:when test="BOOLEAN_XPATH_EXPRESSION"/>|
     <xsl:when test="BOOLEAN_XPATH_EXPRESSION">
         <xsl:attribute name="contentEditable">false</xsl:attribute>
     </xsl:when>)+
 </xsl:choose>

SIMPLE_TEXT_BOX_MULTI_LINE:

 <span class="TEXT_BOX_BASE_CLASS_NAME" hideFocus="1" title="ANY_STRING" 
     xd:binding="LEAF_XPATH1" tabIndex="TAB_INDEX" (TEXT_BOX_AUTOADVANCE)?                   
     xd:datafmt="DATA_FMT_CAT_STRING" xd:xctname="PlainText" xd:CtrlId="CONTROL_ID" 
     (TEXT_BOX_EDITING)? TEXT_BOX_STYLE 
     (xd:postbackModel="POSTBACKMODEL")? (accessKey="SINGLE_CHARACTER")? (INPUT_SCOPE)?>
     CHECK_FOR_GETDOM_BEGIN1
     <xsl:choose>
         <xsl:when test="function-available('xdFormatting:formatString')">
             <xsl:value-of select="xdFormatting:formatString(LEAF_XPATH1, DATA_FMT_CAT_STRING)" TEXT_BOX_OUTPUT_ESC />
         </xsl:when>
         <xsl:otherwise>
             <xsl:value-of select="LEAF_XPATH1" TEXT_BOX_OUTPUT_ESC />
         </xsl:otherwise>
     </xsl:choose>
     CHECK_FOR_GETDOM_END1
 </span>

TEXT_BOX_MULTI_LINE_WITH_CONDITIONAL_FORMATTING:

 <span class="TEXT_BOX_BASE_CLASS_NAME" hideFocus="1" title="ANY_STRING" 
     xd:binding="LEAF_XPATH1"  tabIndex="TAB_INDEX" (style="TEXT_BOX_STYLE")?
     xd:datafmt="DATA_FMT_CAT_STRING" xd:xctname="PlainText" 
     xd:CtrlId="CONTROL_ID" (TEXT_BOX_EDITING)? (TEXT_BOX_AUTOADVANCE)?
     (xd:postbackModel="POSTBACKMODEL")? (accessKey="SINGLE_CHARACTER")? (INPUT_SCOPE)?> 
     CHECK_FOR_GETDOM_BEGIN1
     TEXT_BOX_CONDITIONAL_FORMATTING
     <xsl:choose>
         <xsl:when test="function-available('xdFormatting:formatString')">
             <xsl:value-of select="xdFormatting:formatString(LEAF_XPATH1, DATA_FMT_CAT_STRING)" TEXT_BOX_OUTPUT_ESC />
         </xsl:when>
         <xsl:otherwise>
             <xsl:value-of select="LEAF_XPATH1" TEXT_BOX_OUTPUT_ESC />
         </xsl:otherwise>
     </xsl:choose>
     CHECK_FOR_GETDOM_END1
 </span>

DATA_FMT_TEXT_BOX_VAL: xd:datafmt="DATA_FMT_CTRL_TEXTBOX"

DATA_FMT_XSL_BASE:

 <xsl:when test="function-available('xdFormatting:formatString')">
     <xsl:value-of select="xdFormatting:formatString(LEAF_XPATH1, DATA_FMT_CTRL_TEXTBOX)"/>
 </xsl:when>

DATA_FMT_XSL_NUM:

 <xsl:attribute name="xd:num">
     <xsl:value-of select="LEAF_XPATH1"/>
 </xsl:attribute>

DATA_FMT_XSL:

     DATA_FMT_XSL_NUM
     <xsl:choose>
         DATA_FMT_XSL_BASE 
         <xsl:otherwise>
             <xsl:value-of select="LEAF_XPATH1"/>
         </xsl:otherwise>  
     </xsl:choose>

SIMPLE_TEXT_BOX_WITH_DATA_FORMATTING:

 <span class="TEXT_BOX_BASE_CLASS_NAME xdBehavior_Formatting" hideFocus="1" title="ANY_STRING" xd:binding="LEAF_XPATH1" (TEXT_BOX_AUTOADVANCE)?
     tabIndex="TAB_INDEX" DATA_FMT_TEXT_BOX_VAL xd:xctname="PlainText" xd:CtrlId="CONTROL_ID" 
     (TEXT_BOX_EDITING)? style="TEXT_BOX_STYLE" xd:boundProp="xd:num"
     (xd:postbackModel="POSTBACKMODEL")? (accessKey="SINGLE_CHARACTER")? (INPUT_SCOPE)?>
     CHECK_FOR_GETDOM_BEGIN1
     DATA_FMT_XSL 
     CHECK_FOR_GETDOM_END1
 </span>

TEXT_BOX_WITH_CONDITIONAL_FORMATTING_AND_DATA_FORMATTING:

     <span class="TEXT_BOX_BASE_CLASS_NAME xdBehavior_Formatting" hideFocus="1"
     title="ANY_STRING" xd:binding="LEAF_XPATH1" xd:boundProp="xd:num"
     tabIndex="TAB_INDEX" DATA_FMT_TEXT_BOX_VAL xd:xctname="PlainText" xd:CtrlId="CONTROL_ID" 
     (TEXT_BOX_EDITING)? (TEXT_BOX_AUTOADVANCE)? (style="TEXT_BOX_STYLE")?
     (xd:postbackModel="POSTBACKMODEL")? (accessKey="SINGLE_CHARACTER")? (INPUT_SCOPE)?>
     CHECK_FOR_GETDOM_BEGIN1
     TEXT_BOX_CONDITIONAL_FORMATTING
     DATA_FMT_XSL
     CHECK_FOR_GETDOM_END1
 </span>

PLACEHOLDER_TEXT_XSL_BASE:

 <xsl:when test="not(string(LEAF_XPATH1))">
     <xsl:attribute name="xd:ghosted">true</xsl:attribute>ANY_STRING
 </xsl:when>

PLACEHOLDER_TEXT_XSL:

 <xsl:choose>
     PLACEHOLDER_TEXT_XSL_BASE
     <xsl:otherwise>
         <xsl:value-of select="LEAF_XPATH1" TEXT_BOX_OUTPUT_ESC? />
     </xsl:otherwise>
 </xsl:choose>

SIMPLE_TEXT_BOX_WITH_PLACEHOLDER_TEXT:

 <span class="TEXT_BOX_BASE_CLASS_NAME xdBehavior_GhostedText" hideFocus="1" title="ANY_STRING" xd:binding="LEAF_XPATH1" (TEXT_BOX_AUTOADVANCE)?
     tabIndex="TAB_INDEX"  xd:xctname="PlainText" xd:CtrlId="CONTROL_ID" 
     (TEXT_BOX_EDITING)? style="TEXT_BOX_STYLE" 
     (xd:postbackModel="POSTBACKMODEL")? (accessKey="SINGLE_CHARACTER")? (INPUT_SCOPE)?>
     CHECK_FOR_GETDOM_BEGIN1
     PLACEHOLDER_TEXT_XSL   
     CHECK_FOR_GETDOM_END1 
 </span>

SIMPLE_TEXT_BOX_WITH_PLACEHOLER_TEXT_AND_DATA_FORMATTING:

 <span class="TEXT_BOX_BASE_CLASS_NAME xdBehavior_GTFormatting" hideFocus="1"  
     title="ANY_STRING" xd:binding="LEAF_XPATH1" xd:boundProp="xd:num"
     tabIndex="TAB_INDEX" DATA_FMT_TEXT_BOX_VAL xd:xctname="PlainText" xd:CtrlId="CONTROL_ID" 
     (TEXT_BOX_EDITING)? style="TEXT_BOX_STYLE" (TEXT_BOX_AUTOADVANCE)?
     (xd:postbackModel="POSTBACKMODEL")? (accessKey="SINGLE_CHARACTER")? (INPUT_SCOPE)?>
     CHECK_FOR_GETDOM_BEGIN1
     DATA_FMT_XSL_NUM
     <xsl:choose>
         PLACEHOLDER_TEXT_XSL_BASE
         DATA_FMT_XSL_BASE
         <xsl:otherwise>
             <xsl:value-of select="LEAF_XPATH1"/>
         </xsl:otherwise>
     </xsl:choose> 
     CHECK_FOR_GETDOM_END1
 </span>

TEXT_BOX_MULTI_LINE_PLACEHOLDER_TEXT:

 <span class="TEXT_BOX_BASE_CLASS_NAME xdBehavior_GhostedText" hideFocus="1" title="ANY_STRING" 
     xd:binding="LEAF_XPATH1" tabIndex="TAB_INDEX"
     xd:datafmt="DATA_FMT_CAT_STRING" xd:xctname="PlainText" xd:CtrlId="CONTROL_ID" 
     (TEXT_BOX_EDITING)? TEXT_BOX_STYLE (TEXT_BOX_AUTOADVANCE)?
     (xd:postbackModel="POSTBACKMODEL")? (accessKey="SINGLE_CHARACTER")? (INPUT_SCOPE)?>
     CHECK_FOR_GETDOM_BEGIN1
     <xsl:choose>
         PLACEHOLDER_TEXT_XSL_BASE
         <xsl:when test="function-available('xdFormatting:formatString')">
             <xsl:value-of select="xdFormatting:formatString(LEAF_XPATH1, DATA_FMT_CAT_STRING)" TEXT_BOX_OUTPUT_ESC />
         </xsl:when>
         <xsl:otherwise>
             <xsl:value-of select="LEAF_XPATH1" TEXT_BOX_OUTPUT_ESC/>
         </xsl:otherwise>
     </xsl:choose>
     CHECK_FOR_GETDOM_END1
 </span>

TEXT_BOX_MULTI_LINE_CONDITIONAL_FORMATTING_AND_PLACEHOLDER_TEXT:

 <span class="TEXT_BOX_BASE_CLASS_NAME xdBehavior_GhostedText" hideFocus="1" title="ANY_STRING"
     xd:binding="LEAF_XPATH1" tabIndex="TAB_INDEX" 
        xd:datafmt="DATA_FMT_CAT_STRING" xd:xctname="PlainText" xd:CtrlId="CONTROL_ID" 
     (TEXT_BOX_EDITING)? TEXT_BOX_STYLE (TEXT_BOX_AUTOADVANCE)? 
     (style="TEXT_BOX_STYLE")?
     (xd:postbackModel="POSTBACKMODEL")? (accessKey="SINGLE_CHARACTER")? (INPUT_SCOPE)?>
     CHECK_FOR_GETDOM_BEGIN1
     TEXT_BOX_CONDITIONAL_FORMATTING
     <xsl:choose>
         PLACEHOLDER_TEXT_XSL_BASE
         <xsl:when test="function-available('xdFormatting:formatString')">
             <xsl:value-of select="xdFormatting:formatString(LEAF_XPATH1, DATA_FMT_CAT_STRING)" TEXT_BOX_OUTPUT_ESC />
         </xsl:when>
         <xsl:otherwise>
             <xsl:value-of select="LEAF_XPATH1" TEXT_BOX_OUTPUT_ESC />
         </xsl:otherwise>
     </xsl:choose>
     CHECK_FOR_GETDOM_END1
 </span>

TEXT_BOX_WITH_CONDITIONAL_FORMATTING_AND_PLACEHOLDER_TEXT:

 <span class="TEXT_BOX_BASE_CLASS_NAME xdBehavior_GhostedText" hideFocus="1" title="ANY_STRING" xd:binding="LEAF_XPATH1" (TEXT_BOX_AUTOADVANCE)? (style="TEXT_BOX_STYLE")?
     tabIndex="TAB_INDEX"  xd:xctname="PlainText" xd:CtrlId="CONTROL_ID" 
     (TEXT_BOX_EDITING)? (xd:postbackModel="POSTBACKMODEL")? 
     (accessKey="SINGLE_CHARACTER")? (INPUT_SCOPE)?>
     CHECK_FOR_GETDOM_BEGIN1
     TEXT_BOX_CONDITIONAL_FORMATTING
     PLACEHOLDER_TEXT_XSL   
     CHECK_FOR_GETDOM_END1 
 </span>

TEXT_BOX_WITH_CONDITIONAL_FORMATTING_AND_PLACEHOLDER_TEXT_AND_DATA_FORMATTING:

 <span class="TEXT_BOX_BASE_CLASS_NAME xdBehavior_GTFormatting" hideFocus="1"
     title="ANY_STRING" xd:binding="LEAF_XPATH1" DATA_FMT_TEXT_BOX_VAL xd:boundProp="xd:num"
 tabIndex="TAB_INDEX"  xd:xctname="PlainText" xd:CtrlId="CONTROL_ID"
     (style="TEXT_BOX_STYLE")?
     (TEXT_BOX_EDITING)? (xd:postbackModel="POSTBACKMODEL")? (TEXT_BOX_AUTOADVANCE)?
     (accessKey="SINGLE_CHARACTER")? (INPUT_SCOPE)?>
     CHECK_FOR_GETDOM_BEGIN1
     TEXT_BOX_CONDITIONAL_FORMATTING
     DATA_FMT_XSL_NUM
     <xsl:choose>
         PLACEHOLDER_TEXT_XSL_BASE
         DATA_FMT_XSL_BASE
         <xsl:otherwise>
             <xsl:value-of select="LEAF_XPATH1"/>
         </xsl:otherwise>
     </xsl:choose> 
     CHECK_FOR_GETDOM_END1
 </span>

Control-specific attributes used by the textbox control are as follows: