/** Writes out an entity declaration for this entity */
        public void Write(StreamWriter writer)
        {
            writer.Write("<!ENTITY ");
            if (IsParsed)
            {
                writer.Write(" % ");
            }
            writer.Write(Name);

            if (Value != null)
            {
                char quoteChar = '"';
                if (Value.IndexOf(quoteChar) >= 0)
                {
                    quoteChar = '\'';
                }
                writer.Write(quoteChar);
                writer.Write(Value);
                writer.Write(quoteChar);
            }
            else
            {
                ExternalId.Write(writer);
                if (Ndata != null)
                {
                    writer.Write(" NDATA ");
                    writer.Write(Ndata);
                }
            }
            writer.WriteLine(">");
        }