using System;
using System.Collections.Generic;
using System.Xml;
using Chernobyl.Collections.Generic.Event;
using Chernobyl.Reflection.Template.Attribution;
using Attribute = Chernobyl.Reflection.Template.Attribution.Attribute;
namespace Chernobyl.Reflection.Template.Xml
{
///
/// An that is generated from or can be written to
/// an XML stream.
///
public class XmlAttribute : Attribute
{
///
/// Initializes a new instance of the class.
///
/// The instance that
/// takes and sets service.
/// The XmlReader to read the attribute from. Note
/// that, the is expected to be on an XML
/// attribute node or an exception will be thrown.
/// The
/// passed in is not on an XML attribute node.
/// Thrown if the
/// is not positioned on an
/// (see ) of
/// .
public XmlAttribute(IEventCollection