www.pudn.com > Crawler_bemjh.rar > Attribute.cs


using System; 
 
namespace CrawlerLib 
{ 
	 
	///  
	/// Attribute holds one attribute, as is normally stored in 
	/// an HTML or XML file. This includes a name, value and delimiter. 
	/// 	 
	/// This spider is copyright 2003 by Jeff Heaton. However, it is 
	/// released under a Limited GNU Public License (LGPL). You may  
	/// use it freely in your own programs. For the latest version visit 
	/// http://www.jeffheaton.com. 
	/// 
	///  
	public class Attribute: ICloneable 
	{
		///  
		/// The name of this attribute 
		/// 
		private string m_name;

		///  
		/// The value of this attribute 
		/// 
		private string m_value;
		
		///  
		/// The delimiter for the value of this 
		/// attribute(i.e. " or '). 
		/// 
		private char m_delim;

		///  
		/// Construct a new Attribute.  The name, delim and value 
		/// properties can be specified here. 
		///  
		/// The name of this attribute. 
		/// The value of this attribute. 
		/// The delimiter character for the value.
		public Attribute(string name,string value,char delim)
		{
			m_name = name;
			m_value = value;
			m_delim = delim;
		}

		///  
		/// The default constructor.  Construct a blank attribute. 
		/// 
		public Attribute():this("","",(char)0)
		{
		}
 
		///  
		/// Construct an attribute without a delimiter. 
		///  
		/// The name of this attribute. 
		/// The value of this attribute.
		public Attribute(String name,String value):this(name,value,(char)0)
		{
		}

		///  
		/// The delimiter for this attribute. 
		/// 
		public char Delim
		{
			get 
			{
				return m_delim;
			}

			set 
			{
				m_delim = value;
			}
		}

		///  
		/// The name for this attribute. 
		/// 
		public string Name
		{
			get 
			{
				return m_name;
			}

			set 
			{
				m_name = value;
			}
		}

		///  
		/// The value for this attribute. 
		/// 
		public string Value
		{
			get 
			{
				return m_value;
			}

			set 
			{
				m_value = value;
			}
		}
 
 
		#region ICloneable Members 
		public virtual object Clone() 
		{ 
			return new Attribute(m_name,m_value,m_delim);		 
		} 
		#endregion 
	} 
 
}