Attempt to get the only child element from this SLDNode. If the node
        does not exist, create the element, attach it to the DOM, and return
        the class object that wraps the node.

        @type    ns: string
        @param   ns: The namespace of the new element.
        @type  name: string
        @param name: The name of the new element.
        @rtype: L{SLDNode}
        @return: The wrapped node, in the parent's property class. This will
                 always be a descendent of SLDNode.

def get_or_create_element(self, ns, name):
        """
        Attempt to get the only child element from this SLDNode. If the node
        does not exist, create the element, attach it to the DOM, and return
        the class object that wraps the node.

        @type    ns: string
        @param   ns: The namespace of the new element.
        @type  name: string
        @param name: The name of the new element.
        @rtype: L{SLDNode}
        @return: The wrapped node, in the parent's property class. This will
                 always be a descendent of SLDNode.
        """
        if len(self._node.xpath('%s:%s' % (ns, name), namespaces=SLDNode._nsmap)) == 1:
            return getattr(self, name)

        return self.create_element(ns, name)