code: function Tag(page, startPosition, endPosition, attributes) {
          var self = this;
          self.childNodes = [];
          self.firstChild = null;
          self.lastChild = null;
          self.attributes = attributes || [];
          self.nodeType = 1;
          if (typeof page === 'string') {
              createTag.apply(null, [self].concat(util.makeArray(arguments)));
          } else {
              Tag.superclass.constructor.apply(self, arguments);
              attributes = self.attributes;    // first attribute is actually nodeName
              // first attribute is actually nodeName
              if (attributes[0]) {
                  self.nodeName = attributes[0].name.toLowerCase();    // end tag (</div>) is a tag too in lexer , but not exist in parsed dom tree
                  // end tag (</div>) is a tag too in lexer , but not exist in parsed dom tree
                  self.tagName = self.nodeName.replace(/\//, '');
                  self._updateSelfClosed();
                  attributes.splice(0, 1);
              }
              var lastAttr = attributes[attributes.length - 1], lastSlash = !!(lastAttr && /\/$/.test(lastAttr.name));
              if (lastSlash) {
                  attributes.length = attributes.length - 1;
              }    // self-closing flag
              // self-closing flag
              self.isSelfClosed = self.isSelfClosed || lastSlash;    // whether has been closed by its end tag
                                                                     // !TODO how to set closed position correctly
              // whether has been closed by its end tag
              // !TODO how to set closed position correctly
              self.closed = self.isSelfClosed;
          }
          self.closedStartPosition = -1;
          self.closedEndPosition = -1;
      }
docs: Html Tag Class
  @param page
  @param startPosition
  @param endPosition
  @param attributes
  @class KISSY.HtmlParser.Tag
   
  Html Tag Class
  @param page
  @param startPosition
  @param endPosition
  @param attributes
  @class KISSY.HtmlParser.Tag