NoEmptyElement (XmlNode property): Difference between revisions

From m204wiki
Jump to navigation Jump to search
m (()not finished but I've got to go))
 
m (finish it)
Line 1: Line 1:
{{Template:XmlNode:NoEmptyElement subtitle}}
{{Template:XmlNode:NoEmptyElement subtitle}}
<var>NoEmptyElement</var> indicates whether or not to serialize the method object <var>XmlNode</var> with a separate start tag and end tag instead of with a single empty-element tag ''if the node is childless''.  A [[Boolean]] value of <code>True</code> serializes with a separate start tag and end tag (for example, <code><address></address></code> versus <code><address/></code>).  The default value, <code>False</code>, serializes childless nodes in the usual way, that is, with an empty-element tag.
<var>NoEmptyElement</var> indicates whether or not to serialize the method object <var>XmlNode</var> with a separate start tag and end tag instead of with a single empty-element tag ''if the node is childless''.  A [[Boolean]] value of <code>True</code> serializes with a separate start tag and end tag (for example, <code><address></address></code> versus <code><address/></code>).  The default value, <code>False</code>, serializes childless nodes in the usual way, that is, with an empty-element tag.
<p><var>NoEmptyElement</var> may be specified for any Element node.</p>
<p><var>NoEmptyElement</var> may be specified for any <var>Element</var> node.</p>


==Syntax==
==Syntax==
Line 8: Line 8:
<table class="syntaxTable">
<table class="syntaxTable">
<tr><th>%currentBoolean</th>
<tr><th>%currentBoolean</th>
<td>The <var>Boolean</var> enumeration value of <var class="term">nod</var>'s <var>NoEmptyElement</var> property. For more information about these enumerations, see [[Using Boolean enumerations]]. </td></tr>
<td>The <var>Boolean</var> enumeration value of <var class="term">nod</var>'s <var>NoEmptyElement</var> property. For more information about these enumerations, see [[Boolean Enumeration|"Using Boolean enumerations"]]. </td></tr>
<tr><th>nod</th>
<tr><th>nod</th>
<td>An <var>XmlNode</var> object expression.</td></tr>
<td>An <var>XmlNode</var> object expression.</td></tr>
Line 17: Line 17:
==Usage notes==
==Usage notes==
<ul>
<ul>
<li><var>NoEmptyElement</var> can be useful if you are using the [[Janus SOAP ULI]] to generate XHTML.   
<li><var>NoEmptyElement</var> can be useful if you are using the <var class="product">[[Janus_SOAP_User_Language_Interface|"Janus SOAP User Language Interface"]]</var> to generate XHTML.  Tests show that some browsers work correctly for certain childless elements only if they have an empty element tag, and for other childless elements they work correctly only if there are separate start and end tags. Because of this inconsistency, you cannot obtain a "blanket" suppression of empty element tags via using the <code>NoEmptyElt</code> option of the serialization methods (for example, see the <var>[[Serial_(XmlDoc/XmlNode_function)#Syntax_terms|"Serial method: syntax terms"]]</var>).  
Tests show that some browsers work correctly for
certain childless elements only if they have an empty element tag,
and for other childless elements they work correctly only if there are
separate start and end tags.
Because of this inconsistency, you cannot obtain a "blanket" suppression
of empty element tags via using the <tt>NoEmptyElt</tt> option of the
serialization methods (for example, see [[??]] refid=noempty.).
<li><var>NoEmptyElement</var> is available in <var class="product">[[Sirius Mods|"Sirius Mods"]]</var> Version 7.6 and later.
<li><var>NoEmptyElement</var> is available in <var class="product">[[Sirius Mods|"Sirius Mods"]]</var> Version 7.6 and later.
</ul>
</ul>
Line 32: Line 25:
The node in the following fragment is serialized with a start and end tag:
The node in the following fragment is serialized with a start and end tag:
<p class="code">%texta = %form:[[AddElement_(XmlDoc/XmlNode_function)|addElement]]('textArea')
<p class="code">%texta = %form:[[AddElement_(XmlDoc/XmlNode_function)|addElement]]('textArea')
%texta:NoEmptyElement = True
%texta:noEmptyElement = True
%texta:AddAttribute('name', 'foo')
%texta:[[AddAttribute_(XmlNode_function)|addAttribute]]('name', 'foo')
%texta:AddAttribute('rows', '15')
%texta:addAttribute('rows', '15')
%texta:AddAttribute('cols', '40')
%texta:addAttribute('cols', '40')
%texta:Print
%texta:print
</p>
</p>
The result is:
The result is:

Revision as of 12:47, 7 May 2011

Suppress/produce empty tag when serializing this Element, if childless (XmlNode class)

NoEmptyElement indicates whether or not to serialize the method object XmlNode with a separate start tag and end tag instead of with a single empty-element tag if the node is childless. A Boolean value of True serializes with a separate start tag and end tag (for example, <address></address> versus <address/>). The default value, False, serializes childless nodes in the usual way, that is, with an empty-element tag.

NoEmptyElement may be specified for any Element node.

Syntax

%currentBoolean = nod:NoEmptyElement nod:NoEmptyElement = newBoolean

Syntax terms

%currentBoolean The Boolean enumeration value of nod's NoEmptyElement property. For more information about these enumerations, see "Using Boolean enumerations".
nod An XmlNode object expression.
newBoolean The Boolean value to assign to doc's NoEmptyElement property.

Usage notes

  • NoEmptyElement can be useful if you are using the "Janus SOAP User Language Interface" to generate XHTML. Tests show that some browsers work correctly for certain childless elements only if they have an empty element tag, and for other childless elements they work correctly only if there are separate start and end tags. Because of this inconsistency, you cannot obtain a "blanket" suppression of empty element tags via using the NoEmptyElt option of the serialization methods (for example, see the "Serial method: syntax terms").
  • NoEmptyElement is available in "Sirius Mods" Version 7.6 and later.

Examples

  1. The node in the following fragment is serialized with a start and end tag:

    %texta = %form:addElement('textArea') %texta:noEmptyElement = True %texta:addAttribute('name', 'foo') %texta:addAttribute('rows', '15') %texta:addAttribute('cols', '40') %texta:print

    The result is:

    <textArea name="foo" rows="15" cols="40"></textArea>

Request-Cancellation Errors (for set method)

  • %bool is an invalid value.

See also