void UnknownAttribute(object o, XmlAttribute attr, string qnames)
        {
            int line_number, line_position;

            if (Reader is XmlTextReader)
            {
                line_number   = ((XmlTextReader)Reader).LineNumber;
                line_position = ((XmlTextReader)Reader).LinePosition;
            }
            else
            {
                line_number   = 0;
                line_position = 0;
            }

            XmlAttributeEventArgs args = new XmlAttributeEventArgs(attr, line_number, line_position, o);

#if NET_2_0
            args.ExpectedAttributes = qnames;
#endif

            if (eventSource != null)
            {
                eventSource.OnUnknownAttribute(args);
            }
        }