Exemple #1
0
 public void TestShouldNotEscape() {
     Dictionary<char, string> mapping = new Dictionary<char, string>();
     mapping.Add('(', "<");
     mapping.Add(')', ">");
     StringWriter sw = new StringWriter();
     XmlWriterSettings settings = new XmlWriterSettings();
     settings.OmitXmlDeclaration = true;
     settings.Indent = false;
     CharacterMappingXmlWriter writer = new CharacterMappingXmlWriter(XmlWriter.Create(sw, settings), mapping);
     writer.WriteElementString("foo", "(%= bar%)");
     writer.Close();            
     Assert.IsTrue(sw.ToString() == "<foo><%= bar%></foo>");
 }
Exemple #2
0
 public void TestShouldReplaceInText2() {
     Dictionary<char, string> mapping = new Dictionary<char, string>();
     mapping.Add('f', "FOO");
     mapping.Add('z', "ZzZ");
     StringWriter sw = new StringWriter();
     XmlWriterSettings settings = new XmlWriterSettings();
     settings.OmitXmlDeclaration = true;
     settings.Indent = false;
     CharacterMappingXmlWriter writer = new CharacterMappingXmlWriter(XmlWriter.Create(sw, settings), mapping);
     writer.WriteElementString("foo", "abcd z efgh f zzz.");
     writer.Close();
     Assert.IsTrue(sw.ToString() == "<foo>abcd ZzZ eFOOgh FOO ZzZZzZZzZ.</foo>");
 }
Exemple #3
0
 public void TestShouldReplaceInAttribute() {
     Dictionary<char, string> mapping = new Dictionary<char, string>();
     mapping.Add('f', "FOO");
     StringWriter sw = new StringWriter();
     XmlWriterSettings settings = new XmlWriterSettings();
     settings.OmitXmlDeclaration = true;
     settings.Indent = false;
     CharacterMappingXmlWriter writer = new CharacterMappingXmlWriter(XmlWriter.Create(sw, settings), mapping);
     writer.WriteStartElement("foo");
     writer.WriteAttributeString("bar", "fghj");
     writer.WriteEndElement();
     writer.Close();
     Assert.IsTrue(sw.ToString() == "<foo bar=\"FOOghj\" />");
 }
Exemple #4
0
        /// <summary>
        /// Transforms to XmlWriter.
        /// </summary>
        protected void TransformToWriter(XmlInput defaultDocument, XsltArgumentList xsltArgs, XmlWriter targetWriter)
        {
            XmlWriter xmlWriter;

            if (this.supportCharacterMaps && this.characterMap != null && this.characterMap.Count > 0)
            {
                xmlWriter = new CharacterMappingXmlWriter(targetWriter, this.characterMap);
            }
            else
            {
                xmlWriter = targetWriter;
            }
            if (this.enforceXHTMLOutput)
            {
                xmlWriter = new XhtmlWriter(xmlWriter);
            }
            XsltArgumentList args      = AddExsltExtensionObjectsSync(xsltArgs);
            XmlReader        xmlReader = defaultDocument.source as XmlReader;

            if (xmlReader != null)
            {
                this.compiledTransform.Transform(xmlReader, args, xmlWriter, defaultDocument.resolver);
                return;
            }
            IXPathNavigable nav = defaultDocument.source as IXPathNavigable;

            if (nav != null)
            {
                if (defaultDocument.resolver is DefaultXmlResolver)
                {
                    this.compiledTransform.Transform(nav, args, xmlWriter);
                }
                else
                {
                    TransformIXPathNavigable(nav, args, xmlWriter, defaultDocument.resolver);
                }
                return;
            }
            string str = defaultDocument.source as string;

            if (str != null)
            {
                using (XmlReader reader = XmlReader.Create(str, GetReaderSettings(defaultDocument)))
                {
                    this.compiledTransform.Transform(reader, args, xmlWriter, defaultDocument.resolver);
                }
                return;
            }
            Stream strm = defaultDocument.source as Stream;

            if (strm != null)
            {
                using (XmlReader reader = XmlReader.Create(strm, GetReaderSettings(defaultDocument)))
                {
                    this.compiledTransform.Transform(reader, args, xmlWriter, defaultDocument.resolver);
                }
                return;
            }
            TextReader txtReader = defaultDocument.source as TextReader;

            if (txtReader != null)
            {
                using (XmlReader reader = XmlReader.Create(txtReader, GetReaderSettings(defaultDocument)))
                {
                    this.compiledTransform.Transform(reader, args, xmlWriter, defaultDocument.resolver);
                }
                return;
            }
            throw new Exception("Unexpected XmlInput");
        }
Exemple #5
0
 /// <summary>
 /// Transforms to XmlWriter.
 /// </summary>        
 protected void TransformToWriter(XmlInput defaultDocument, XsltArgumentList xsltArgs, XmlWriter targetWriter)
 {
     XmlWriter xmlWriter;            
     if (this.supportCharacterMaps && this.characterMap != null && this.characterMap.Count > 0)
     {
         xmlWriter = new CharacterMappingXmlWriter(targetWriter, this.characterMap);
     }
     else
     {
         xmlWriter = targetWriter;
     }
     if (this.enforceXHTMLOutput)
     {
         xmlWriter = new XhtmlWriter(xmlWriter);
     }
     XsltArgumentList args = AddExsltExtensionObjectsSync(xsltArgs);
     XmlReader xmlReader = defaultDocument.source as XmlReader;
     if (xmlReader != null)
     {
         this.compiledTransform.Transform(xmlReader, args, xmlWriter, defaultDocument.resolver);
         return;
     }
     IXPathNavigable nav = defaultDocument.source as IXPathNavigable;
     if (nav != null)
     {
         if (defaultDocument.resolver is DefaultXmlResolver)
         {
             this.compiledTransform.Transform(nav, args, xmlWriter);
         }
         else
         {
             TransformIXPathNavigable(nav, args, xmlWriter, defaultDocument.resolver);
         }
         return;
     }
     string str = defaultDocument.source as string;
     if (str != null)
     {
         using (XmlReader reader = XmlReader.Create(str, GetReaderSettings(defaultDocument)))
         {
             this.compiledTransform.Transform(reader, args, xmlWriter, defaultDocument.resolver);
         }
         return;
     }
     Stream strm = defaultDocument.source as Stream;
     if (strm != null)
     {
         using (XmlReader reader = XmlReader.Create(strm, GetReaderSettings(defaultDocument)))
         {
             this.compiledTransform.Transform(reader, args, xmlWriter, defaultDocument.resolver);
         }
         return;
     }
     TextReader txtReader = defaultDocument.source as TextReader;
     if (txtReader != null)
     {
         using (XmlReader reader = XmlReader.Create(txtReader, GetReaderSettings(defaultDocument)))
         {
             this.compiledTransform.Transform(reader, args, xmlWriter, defaultDocument.resolver);
         }
         return;
     }
     throw new Exception("Unexpected XmlInput");
 }