Exemplo n.º 1
0
        public void Write(XmlDocument document, TextWriter writer, XsltArgumentList argumentsOrNull, HtmlRendererEscapeBehaviour behaviour)
        {
            XmlDocument transformedDocument = Transform(document, argumentsOrNull);

            Write(transformedDocument.DocumentElement, writer, behaviour);
        }
Exemplo n.º 2
0
 private void Write(XmlNode element, TextWriter writer, HtmlRendererEscapeBehaviour behaviour)
 {
     WriteNode(element, writer, behaviour);
 }
Exemplo n.º 3
0
        private void WriteNode(XmlNode node, TextWriter writer, HtmlRendererEscapeBehaviour behaviour)
        {
            switch (node.NodeType)
            {
                case XmlNodeType.Element:
                    XmlElement element = node as XmlElement;
                    writer.Write("<");
                    writer.Write(element.Name);

                    if (element.Name.ToLower() == "style" && behaviour == HtmlRendererEscapeBehaviour.IgnoreStyleElements)
                    {
                        _escapeState = EscapeState.Ignore;
                    }

                    foreach (XmlAttribute attribute in node.Attributes)
                    {
                        writer.Write(" {0}=\"{1}\"", attribute.Name,

                            _escapeState == EscapeState.Escape ? EscapeHtml(attribute.Value) : attribute.Value

                            );
                    }

                    writer.Write(">");

                    foreach (XmlNode child in element.ChildNodes)
                    {
                        WriteNode(child, writer, behaviour);
                    }

                    if (!(element.ChildNodes.Count == 0 && _noEndTags.Contains(element.Name.ToLower())))
                    {
                        writer.Write("</");
                        writer.Write(element.Name);
                        writer.Write(">");
                    }

                    _escapeState = EscapeState.Escape;

                    break;
                case XmlNodeType.Text:
                    writer.Write(

                        _escapeState == EscapeState.Escape ? EscapeHtml((node as XmlText).Value) : (node as XmlText).Value

                        );
                    break;
            }
        }
Exemplo n.º 4
0
        public string WriteToString(XmlDocument document, XsltArgumentList argumentsOrNull, HtmlRendererEscapeBehaviour behaviour)
        {
            using (StringWriter stringWriter = new StringWriter())
            {
                Write(document, stringWriter, argumentsOrNull, behaviour);

                return stringWriter.GetStringBuilder().ToString();
            }
        }