NoEmptyElement (XmlNode property): Difference between revisions

From m204wiki
Jump to navigation Jump to search
(Created page with "<span style="font-size:120%; color:black"><b>(Dis)allow empty-element tags for childless nodes in serialization</b></span> NoEmptyElement property [[...")
 
m (1 revision)
(No difference)

Revision as of 00:33, 7 December 2010

(Dis)allow empty-element tags for childless nodes in serialization

NoEmptyElement is a member of the XmlNode class.

This property 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.

NoEmptyElement is new as of version 7.6 of the Sirius Mods.

Syntax

  %bool = doc:NoEmptyElement
  doc:NoEmptyElement = %bool

Syntax Terms

%bool
The Boolean enumeration value of nod's NoEmptyElement property. For more information about these enumerations, see Using Boolean enumerations.
nod
An XmlNode object expression.

Usage Notes

  • NoEmptyElement can be useful if you are using the Janus SOAP ULI 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 ?? refid=noempty.).

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)

  • %bool is an invalid value.