public override string GetAttribute( int i ) {
if ( !InAttributeActiveState ) {
throw new ArgumentOutOfRangeException("i");
}
int n = reader.AttributeCount;
if ( i < n ) {
return reader.GetAttribute( i );
}
else if ( i - n < nsAttrCount ) {
return nsAttributes[i-n].value;
}
else {
throw new ArgumentOutOfRangeException( "i" );
}
}