code: function(name, obj, parent) {
          var prefix, local;
          var split = name.indexOf(":");
          if(split > 0) {
              prefix = name.substring(0, split);
              local = name.substring(split + 1);
          } else {
              if(parent) {
                  prefix = this.namespaceAlias[parent.namespaceURI];
              } else {
                  prefix = this.defaultPrefix;
              }
              local = name;
          }
          var child = this.writers[prefix][local].apply(this, [obj]);
          if(parent) {
              parent.appendChild(child);
          }
          return child;
      }
docs: Method: writeNode
  Shorthand for applying one of the named writers and appending the
  results to a node.  If a qualified name is not provided for the
  second argument (and a local name is used instead), the namespace
  of the parent node will be assumed.
  
  Parameters:
  name - {String} The name of a node to generate.  If a qualified name
  (e.g. "pre:Name") is used, the namespace prefix is assumed to be
  in the <writers> group.  If a local name is used (e.g. "Name") then
  the namespace of the parent is assumed.  If a local name is used
  and no parent is supplied, then the default namespace is assumed.
  obj - {Object} Structure containing data for the writer.
  parent - {DOMElement} Result will be appended to this node.  If no parent
  is supplied, the node will not be appended to anything.
  
  Returns:
  {DOMElement} The child node.