コード例 #1
0
 public virtual void WriteEndTag(IXhtmlWriter writer, IElement element)
 {
     if (element.ContentModel.Count > 0)
     {
         writer.WriteEndElement(element.TagName);
     }
 }
コード例 #2
0
        public void Write(IXhtmlWriter writer, INode element)
        {
            if (element is ITextNode)
            {
                writer.WriteString(((ITextNode)element).Text);
            }
            else if (element is IAttribute)
            {
                this.WriteAttribute(writer, (IAttribute)element);
            }
            else if (element is IElement)
            {
                var el = (IElement)element;
                el.Prepare();
                
                if (!el.IsVisible)
                {
                    return;
                }

                this.WriteStartTag(writer, el);
                this.WriteChildren(writer, el);
                this.WriteEndTag(writer, el);
            }
        }
コード例 #3
0
 protected virtual void WriteAttribute(IXhtmlWriter writer, IAttribute attribute)
 {
     if (!attribute.IsDefault || attribute.RendersOnDefaultValue)
     {
         writer.WriteAttributeString(attribute.Name.ToLowerInvariant(), attribute.SerializedValue);
     }
 }
コード例 #4
0
 public virtual void WriteChildren(IXhtmlWriter writer, IElement element)
 {
     if (element.ChildNodes.Count > 0)
     {
         element.ChildNodes.ForEach(child => Write(writer, child));
     }
 }
コード例 #5
0
 public virtual void WriteEndTag(IXhtmlWriter writer, IElement element)
 {
     if (element.ContentModel.Count > 0)
     {
         writer.WriteEndElement(element.TagName);
     }
 }
コード例 #6
0
 public virtual void WriteChildren(IXhtmlWriter writer, IElement element)
 {
     if (element.ChildNodes.Count > 0)
     {
         element.ChildNodes.ForEach(child => Write(writer, child));
     }
 }
コード例 #7
0
 protected virtual void WriteAttribute(IXhtmlWriter writer, IAttribute attribute)
 {
     if (!attribute.IsDefault || attribute.RendersOnDefaultValue)
     {
         writer.WriteAttributeString(attribute.Name.ToLowerInvariant(), attribute.SerializedValue);
     }
 }
コード例 #8
0
 public virtual void WriteStartTag(IXhtmlWriter writer, IElement element)
 {
     if (!string.IsNullOrEmpty(element.TagName))
     {
         writer.BeginWriteStartElement(element.TagName);
         element.Attributes.ForEach(a => WriteAttribute(writer, a));
         if (element.ContentModel.Count == 0) writer.EndWriteStartElementFinal();
         else writer.EndWriteStartElement();
     }
 }
コード例 #9
0
 public virtual void WriteStartTag(IXhtmlWriter writer, IElement element)
 {
     if (!string.IsNullOrEmpty(element.TagName))
     {
         writer.BeginWriteStartElement(element.TagName);
         element.Attributes.ForEach(a => WriteAttribute(writer, a));
         if (element.ContentModel.Count == 0)
         {
             writer.EndWriteStartElementFinal();
         }
         else
         {
             writer.EndWriteStartElement();
         }
     }
 }
コード例 #10
0
 public void Write(IXhtmlWriter writer, INode element)
 {
     if (element is ITextNode)
     {
         writer.WriteString(((ITextNode)element).Text);
     }
     else if (element is IAttribute)
     {
         WriteAttribute(writer, (IAttribute)element);
     }
     else if (element is IElement)
     {
         var el = (IElement)element;
         el.Prepare();
         if (!el.IsVisible)
         {
             return;
         }
         WriteStartTag(writer, el);
         WriteChildren(writer, el);
         WriteEndTag(writer, el);
     }
 }
コード例 #11
0
 public XhtmlAnchor(IDependencyResolver resolver, IXhtmlWriter writer, Func <IPrincipal> userGetter)
 {
     _resolver        = resolver;
     this._userGetter = userGetter;
     AmbientWriter    = writer;
 }
コード例 #12
0
 public XhtmlAnchor(IDependencyResolver resolver, IXhtmlWriter writer, Func<IPrincipal> userGetter)
 {
     this.resolver = resolver;
     this.userGetter = userGetter;
     this.AmbientWriter = writer;
 }
コード例 #13
0
 public NodeWriterTerminator(XhtmlNodeWriter nodeWriter, IXhtmlWriter writer, IElement element)
 {
     _nodeWriter = nodeWriter;
     _writer     = writer;
     _element    = element;
 }
コード例 #14
0
 public NodeWriterTerminator(XhtmlNodeWriter nodeWriter, IXhtmlWriter writer, IElement element)
 {
     _nodeWriter = nodeWriter;
     _writer = writer;
     _element = element;
 }
コード例 #15
0
 public NodeWriterTerminator(XhtmlNodeWriter nodeWriter, IXhtmlWriter writer, IElement element)
 {
     this.nodeWriter = nodeWriter;
     this.writer = writer;
     this.element = element;
 }