docs: public String toXML()
      {
          RepositoryTags tags = RepositoryTags.getInstance();
          String eol = SystemUtils.LINE_SEPARATOR;
  
          //opening tag + attributes
          StringBuffer result = new StringBuffer( 1024 );
          result.append( "      " );
          result.append( tags.getOpeningTagNonClosingById( FIELD_DESCRIPTOR ) );
          result.append( " " );
          result.append( eol );
  
          //        // id
          //        String id = new Integer(getColNo()).toString();
          //        result += /*"        " +*/ tags.getAttribute(ID, id) + eol;
  
          // name
          result.append( "        " );
          result.append( tags.getAttribute( FIELD_NAME, this.getAttributeName() ) );
          result.append( eol );
  
          // table not yet implemented
  
          // column
          result.append( "        " );
          result.append( tags.getAttribute( COLUMN_NAME, this.getColumnName() ) );
          result.append( eol );
  
          // jdbc-type
          result.append( "        " );
          result.append( tags.getAttribute( JDBC_TYPE, this.getColumnType() ) );
          result.append( eol );
  
          // primarykey
          if( this.isPrimaryKey() )
          {
              result.append( "        " );
              result.append( tags.getAttribute( PRIMARY_KEY, "true" ) );
              result.append( eol );
          }
  
          // nullable
          if( this.isRequired() )
          {
              result.append( "        " );
              result.append( tags.getAttribute( NULLABLE, "false" ) );
              result.append( eol );
          }
  
          // indexed not yet implemented
  
          // autoincrement
          if( this.isAutoIncrement() )
          {
              result.append( "        " );
              result.append( tags.getAttribute( AUTO_INCREMENT, "true" ) );
              result.append( eol );
          }
  
          // locking
          if( this.isLocking() )
          {
              result.append( "        " );
              result.append( tags.getAttribute( LOCKING, "true" ) );
              result.append( eol );
          }
  
          // updateLock
          // default is true so only write if false
          if( !this.isUpdateLock() )
          {
              result.append( "        " );
              result.append( tags.getAttribute( UPDATE_LOCK, "false" ) );
              result.append( eol );
          }
  
          // default-fetch not yet implemented
  
          // conversion
          if( this.getFieldConversion().getClass() != FieldConversionDefaultImpl.class )
          {
              result.append( "        " );
              result.append( tags.getAttribute( FIELD_CONVERSION, getFieldConversion().getClass().getName() ) );
              result.append( eol );
          }
  
          // length
          if( this.isLengthSpecified() )
          {
              result.append( "        " );
              result.append( tags.getAttribute( LENGTH, "" + getLength() ) );
              result.append( eol );
          }
  
          // precision
          if( this.isPrecisionSpecified() )
          {
              result.append( "        " );
              result.append( tags.getAttribute( PRECISION, "" + getPrecision() ) );
              result.append( eol );
          }
  
          // scale
          if( this.isScaleSpecified() )
          {
              result.append( "        " );
              result.append( tags.getAttribute( SCALE, "" + getScale() ) );
              result.append( eol );
          }
  
          // access
          result.append( "        " );
          result.append( tags.getAttribute( ACCESS, this.getAccess() ) );
          result.append( eol );
  
          result.append( "      />" );
          result.append( eol );
          return result.toString();
      }