/// <summary> Visit RawTag </summary>
 public override void VisitTag(AXmlTag tag)
 {
     if (tag.IsStartOrEmptyTag) {
         sb.Append('<');
         sb.Append(tag.Name);
         foreach(AXmlAttribute attr in tag.Children.OfType<AXmlAttribute>().OrderBy(a => a.Name)) {
             VisitAttribute(attr);
         }
         sb.Append('>');
         if (tag.IsEmptyTag) {
             // Use explicit start-end pair
             sb.AppendFormat("</{0}>", tag.Name);
         }
     } else if (tag.IsEndTag) {
         sb.AppendFormat("</{0}>", tag.Name);
     } else if (tag.IsProcessingInstruction) {
         sb.Append("<?");
         sb.Append(tag.Name);
         foreach(AXmlText text in tag.Children.OfType<AXmlText>()) {
             sb.Append(text.Value);
         }
         if (tag.Children.Count == 0)
             sb.Append(' ');
         sb.Append("?>");
     } else if (tag.IsCData) {
         foreach(AXmlText text in tag.Children.OfType<AXmlText>()) {
             sb.Append(Escape(text.Value));
         }
     }
 }
Example #2
0
		/// <summary> Visit RawTag </summary>
		public virtual void VisitTag(AXmlTag tag)
		{
			foreach(AXmlObject child in tag.Children) child.AcceptVisitor(this);
		}