NoEmptyElement (XmlNode property): Difference between revisions
m (→Usage notes) |
m (→Usage notes) |
||
Line 17: | Line 17: | ||
==Usage notes== | ==Usage notes== | ||
<ul> | <ul> | ||
<li><var>NoEmptyElement</var> can be useful if you are using | <li><var>NoEmptyElement</var> can be useful if you are using <var class="product">SOUL</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 <var>NoEmptyElt</var> option of the serialization methods (for example, see the <var>[[Serial_(XmlDoc/XmlNode_function)#noempty|Serial]]</var> method). | ||
<!-- <var>NoEmptyElement</var> is available in <var class="product">[[Sirius Mods]]</var> Version 7.6 and later. --> | <!-- <var>NoEmptyElement</var> is available in <var class="product">[[Sirius Mods]]</var> Version 7.6 and later. --> | ||
</ul> | </ul> |
Revision as of 17:58, 22 October 2013
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 object nod's NoEmptyElement property. |
---|---|
nod | An XmlNode object expression. |
newBoolean | The Boolean value to set for nod's NoEmptyElement property. |
Usage notes
- NoEmptyElement can be useful if you are using SOUL 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).
Examples
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)
- The newBoolean setting is an invalid value.