Mono.Xml.XmlTextWriter.WriteDocType C# (CSharp) Method

WriteDocType() public method

public WriteDocType ( string name, string pubid, string sysid, string subset ) : void
name string
pubid string
sysid string
subset string
return void
		public override void WriteDocType (string name,
			string pubid, string sysid, string subset)
		{
			if (name == null)
				throw ArgumentError ("name");
			if (!XmlChar.IsName (name))
				throw ArgumentError ("name");

			if (node_state != XmlNodeType.None)
				throw StateError ("DocType");
			node_state = XmlNodeType.DocumentType;

			if (xmldecl_state == XmlDeclState.Auto)
				OutputAutoStartDocument ();

			WriteIndent ();

			writer.Write ("<!DOCTYPE ");
			writer.Write (name);
			if (pubid != null) {
				writer.Write (" PUBLIC ");
				writer.Write (quote_char);
				writer.Write (pubid);
				writer.Write (quote_char);
				writer.Write (' ');
				writer.Write (quote_char);
				if (sysid != null)
					writer.Write (sysid);
				writer.Write (quote_char);
			}
			else if (sysid != null) {
				writer.Write (" SYSTEM ");
				writer.Write (quote_char);
				writer.Write (sysid);
				writer.Write (quote_char);
			}

			if (subset != null) {
				writer.Write ("[");
				// LAMESPEC: see the top of this source.
				writer.Write (subset);
				writer.Write ("]");
			}
			writer.Write ('>');

			state = WriteState.Prolog;
		}