Exemple #1
0
 private static XElement ConvertToXml(object xml)
 {
     if (null == xml)
     {
         return(XElement.Parse("<stub/>"));
     }
     if (xml is SqlXml)
     {
         return(XElement.Load((xml as SqlXml).CreateReader()));
     }
     if (xml is SqlString)
     {
         var str = (SqlString)xml;
         if (str.Value.StartsWith("<"))
         {
             return(XElement.Parse(str.Value));
         }
         var result = MyBxl.Parse(str.Value);
         if (result.Elements().Count() == 1)
         {
             return(result.Elements().First());
         }
         return(result);
     }
     return(XElement.Parse("<stub/>"));
 }
Exemple #2
0
        public void ThisKeywordSupport()
        {
            var x = MyBxl.ParseSimple(@"x y=1 z='${len(this)}'").Interpolate();

            Console.WriteLine(x.ToString().Simplify(SimplifyOptions.SingleQuotes));
            Assert.AreEqual(@"<xy='1'z='28'/>".Simplify(SimplifyOptions.Full), x.ToString().Simplify(SimplifyOptions.Full));
        }
Exemple #3
0
 public static SqlString BxlFromXml(SqlXml xml)
 {
     if (xml.IsNull)
     {
         return(SqlString.Null);
     }
     return(MyBxl.Convert(XElement.Parse(xml.Value)));
 }
Exemple #4
0
 public static SqlXml BxlToXml(SqlString bxlcode)
 {
     if (bxlcode.IsNull)
     {
         return(SqlXml.Null);
     }
     return(new SqlXml(MyBxl.Parse(bxlcode.Value).CreateReader()));
 }
        protected override object process()
        {
            var project = new SingleContentProject(Text);

            if (ProjBxl.hasContent())
            {
                project.ConfigureFromXml(MyBxl.Parse(ProjBxl));
            }
            return(new ThemaCompilerResultForQweb(
                       LastContext = new ThemaCompiler().Compile(
                           project)));
        }
Exemple #6
0
        public void GeneratesNamespacePrefixesTest()
        {
            Assert.AreEqual(
                @"
x=""html://testns""
x::e1
".Trim().LfOnly(), MyBxl.Convert(
                    XElement.Parse("<root xmlns:x='html://testns'><x:e1 /></root>"),
                    new BxlGeneratorOptions {
                NoRootElement = true
            }).Trim().LfOnly()
                );
        }
Exemple #7
0
        public void GeneratesNamespacePrefixesTestWithRoot()
        {
            Assert.AreEqual(
                @"
x=testns
x::root
	x::e1
".Trim().LfOnly(), MyBxl.Convert(
                    XElement.Parse("<x:root xmlns:x='testns'><x:e1 /></x:root>"),
                    new BxlGeneratorOptions {
                NoRootElement = false
            }).Trim().LfOnly()
                );
        }
Exemple #8
0
        public void BasicXiIfTest()
        {
            var x   = MyBxl.ParseSimple(@"
root x=true
    item 1 x=false xi-if='a & x'
    item 2 xi-if='a & x'
    item 3 x=false xi-if='a | x'
    item 4 xi-if='a | x'
");
            var res = x.Interpolate(new { a = true });

            Console.WriteLine(res.ToString().Replace("\"", "'"));
            Assert.AreEqual(@"<root x='true'>
  <item code='2' />
  <item code='3' x='false' />
  <item code='4' />
</root>".Simplify(SimplifyOptions.Full), res.ToString().Simplify(SimplifyOptions.Full));
            var res2 = x.Interpolate(new { a = false });

            Console.WriteLine(res2.ToString().Replace("\"", "'"));
            Assert.AreEqual(@"<root x='true'>
  <item code='4' />
</root>".Simplify(SimplifyOptions.Full), res2.ToString().Simplify(SimplifyOptions.Full));
        }