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/>")); }
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)); }
public static SqlString BxlFromXml(SqlXml xml) { if (xml.IsNull) { return(SqlString.Null); } return(MyBxl.Convert(XElement.Parse(xml.Value))); }
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))); }
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() ); }
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() ); }
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)); }