Show:
                            /**
                             * @module node
                             * @submodule node-base
                             */
                            
                            var Y_Node = Y.Node,
                                Y_DOM = Y.DOM;
                            
                            /**
                             * Static collection of configuration attributes for special handling
                             * @property ATTRS
                             * @static
                             * @type object
                             */
                            Y_Node.ATTRS = {
                                /**
                                 * Allows for getting and setting the text of an element.
                                 * Formatting is preserved and special characters are treated literally.
                                 * @config text
                                 * @type String
                                 */
                                text: {
                                    getter: function() {
                                        return Y_DOM.getText(this._node);
                                    },
                            
                                    setter: function(content) {
                                        Y_DOM.setText(this._node, content);
                                        return content;
                                    }
                                },
                            
                                /**
                                 * Allows for getting and setting the text of an element.
                                 * Formatting is preserved and special characters are treated literally.
                                 * @config for
                                 * @type String
                                 */
                                'for': {
                                    getter: function() {
                                        return Y_DOM.getAttribute(this._node, 'for');
                                    },
                            
                                    setter: function(val) {
                                        Y_DOM.setAttribute(this._node, 'for', val);
                                        return val;
                                    }
                                },
                            
                                'options': {
                                    getter: function() {
                                        return this._node.getElementsByTagName('option');
                                    }
                                },
                            
                                /**
                                 * Returns a NodeList instance of all HTMLElement children.
                                 * @readOnly
                                 * @config children
                                 * @type NodeList
                                 */
                                'children': {
                                    getter: function() {
                                        var node = this._node,
                                            children = node.children,
                                            childNodes, i, len;
                            
                                        if (!children || (Y.UA.ie && Y.UA.ie < 9)) {
                                            childNodes = node.childNodes;
                                            children = [];
                            
                                            for (i = 0, len = childNodes.length; i < len; ++i) {
                                                if (childNodes[i].tagName && (childNodes[i].nodeType === 1)) {
                                                    children[children.length] = childNodes[i];
                                                }
                                            }
                                        }
                                        return Y.all(children);
                                    }
                                },
                            
                                value: {
                                    getter: function() {
                                        return Y_DOM.getValue(this._node);
                                    },
                            
                                    setter: function(val) {
                                        Y_DOM.setValue(this._node, val);
                                        return val;
                                    }
                                }
                            };
                            
                            Y.Node.importMethod(Y.DOM, [
                                /**
                                 * Allows setting attributes on DOM nodes, normalizing in some cases.
                                 * This passes through to the DOM node, allowing for custom attributes.
                                 * @method setAttribute
                                 * @for Node
                                 * @for NodeList
                                 * @chainable
                                 * @param {string} name The attribute name
                                 * @param {string} value The value to set
                                 */
                                'setAttribute',
                                /**
                                 * Allows getting attributes on DOM nodes, normalizing in some cases.
                                 * This passes through to the DOM node, allowing for custom attributes.
                                 * @method getAttribute
                                 * @for Node
                                 * @for NodeList
                                 * @param {string} name The attribute name
                                 * @return {string} The attribute value
                                 */
                                'getAttribute'
                            
                            ]);