docs: function buildElementTag( def, code, varName ) {
      const attribs = extractAttribs( def );
  
      try {
          const arr = Object.keys( attribs.standard );
          code.requires[ "Tag" ] = "require('tfw.view').Tag";
          code.section.elements.define.push(
              "const " + varName + " = new Tag('" + def[ 0 ] + "'" +
              ( arr.length > 0 ? ', ' + JSON.stringify( arr ) : '' ) +
              ");" );
  
          const initAttribs = buildElementTagAttribsStandard( attribs.standard, code, varName );
          buildInitAttribsForTag( initAttribs, code, varName );
          buildElementEvents( attribs.special, code, varName );
          buildElementTagClassSwitcher( attribs.special, code, varName );
          buildElementTagAttribSwitcher( attribs.special, code, varName );
          buildElementTagStyle( attribs.special, code, varName );
          buildElementTagChildren( attribs.special, code, varName );
          buildElementTagOn( attribs.special, code, varName );
      } catch ( ex ) {
          throw ex + "\n...in tag \"" + varName + "\": " + limitJson( def );
      }
  }