示例#1
0
 public void Execute()
 {
     var xmlresolver = new BSharpXmlResolver(Project);
     var xslt = new XslCompiledTransform();
     var xsltsettings = new XsltSettings(true,true);
     xslt.Load(_resolver.GetPath(TemplateUri),xsltsettings,xmlresolver);
     var classes = _resolver.GetClasses(ClassSelector);
    
     if (Batch)
     {
         
         var xml = new XElement("batch",classes.Select(_=>_.Compiled));
         var args = BuildArgs( classes, null);
         var path = _resolver.GetPath(OutputPath);
         Execute(xslt,xml,args,path);
     }
     else
     {
         foreach (var cls in classes)
         {
             var xml = cls.Compiled;
             var args = BuildArgs(classes, cls);
             var path =
                 _resolver.GetPath(OutputPath)
                     .Replace("_ns_", cls.Namespace)
                     .Replace("_name_", cls.Name)
                     .Replace("_proto_", cls.Prototype);
             Execute(xslt,xml,args,path);
         }
     }
     
 }
示例#2
0
        public void Execute()
        {
            var xmlresolver  = new BSharpXmlResolver(Project);
            var xslt         = new XslCompiledTransform();
            var xsltsettings = new XsltSettings(true, true);

            xslt.Load(_resolver.GetPath(TemplateUri), xsltsettings, xmlresolver);
            var classes = _resolver.GetClasses(ClassSelector);

            if (Batch)
            {
                var xml  = new XElement("batch", classes.Select(_ => _.Compiled));
                var args = BuildArgs(classes, null);
                var path = _resolver.GetPath(OutputPath);
                Execute(xslt, xml, args, path);
            }
            else
            {
                foreach (var cls in classes)
                {
                    var xml  = cls.Compiled;
                    var args = BuildArgs(classes, cls);
                    var path =
                        _resolver.GetPath(OutputPath)
                        .Replace("_ns_", cls.Namespace)
                        .Replace("_name_", cls.Name)
                        .Replace("_proto_", cls.Prototype);
                    Execute(xslt, xml, args, path);
                }
            }
        }