Exemple #1
0
        internal string generateCode(XSLTTemplate template, XSLTTemplateRepository repo)
        {
            string xslCode = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n";
            xslCode += "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">\n";

            xslCode += template.generateXSLTTemplateCode();

            foreach (XSLTTemplate xt in repo.templates)
                xslCode += xt.generateXSLTTemplateCode() + "\n";

            xslCode += "</xsl:stylesheet>\n";

            return prettyPrinter.PrintToString(xslCode);
        }
Exemple #2
0
        public void processVisual_VisualNotationDrop(VisualElement source, DependencyObject pWindow)
        {
            if (pWindow is Mapper)//double check
            {
                (pWindow as Mapper).ReportStatusBar.ShowStatus("Mapping " + source.Data.Name + " -> " + this.Data.Name, ReportIcon.Info);

                XSLTTemplate tem = new XSLTTemplate();
                Element header = new Element();
                header.Name = source.Data.Name;

                tem.HeaderNode = new TreeNodeViewModel(header);
                tem.TemplateXmlNode = this.Data.Clone() as XmlNode;

                (pWindow as Mapper).NewTemplate = tem;
                (pWindow as Mapper).sourceData = source.Data;

                //for reverse
                this.ReverseData = source.Data.Clone() as XmlNode;
                this.templateVMR.TemplateName = this.Data.Name.Clone() as string;

                (pWindow as Mapper).NewTemplateR = this.templateVMR;
                (pWindow as Mapper).NewTemplateR.TemplateName = templateVMR.TemplateName.Clone() as string;

                //suggester initiation
                source.abstractTree.prepare();
                this.abstractTree.prepare();
                (pWindow as Mapper).mapperSuggester = new Suggester(source.abstractTree, this.abstractTree);

                (pWindow as Mapper).updateSuggestions((pWindow as Mapper).mapperSuggester.getSuggestionsAsStrings((pWindow as Mapper).mapperSuggester.imFeelingLucky()), false);

                //MessageBox.Show("Reverse Data: \n\n"+ReverseData.OuterXml);
                //maybe do this for source as well
                //make sure it does not overright the model to visualisation reverse code

                //move elements to Mapper rule designer
                (pWindow as CONVErT.Mapper).RuleDesignerCanvas.Children.Clear();

                (pWindow as CONVErT.Mapper).LHS = source.Clone() as VisualElement;
                (pWindow as CONVErT.Mapper).RHS = this.Clone() as VisualElement;

                (pWindow as CONVErT.Mapper).LHS.Content = (pWindow as Mapper).renderer.render((pWindow as CONVErT.Mapper).LHS);
                (pWindow as CONVErT.Mapper).RHS.Content = (pWindow as Mapper).renderer.render((pWindow as CONVErT.Mapper).RHS);

                Canvas.SetTop((pWindow as CONVErT.Mapper).LHS, 40);
                Canvas.SetLeft((pWindow as CONVErT.Mapper).LHS, 40);

                Canvas.SetTop((pWindow as CONVErT.Mapper).RHS, 40);
                Canvas.SetLeft((pWindow as CONVErT.Mapper).RHS, 470);

                (pWindow as CONVErT.Mapper).RuleDesignerCanvas.Children.Add((pWindow as CONVErT.Mapper).LHS);
                (pWindow as CONVErT.Mapper).RuleDesignerCanvas.Children.Add((pWindow as CONVErT.Mapper).RHS);

                //log event
                (pWindow as Mapper).logger.log("\"" + source.Data.Name + "\" was dropped on \"" + this.Data.Name + "\"", ReportIcon.OK);
                (pWindow as Mapper).RuleDesignStatusBar.ShowStatus("Rule : " + source.Data.Name + " -> " + this.Data.Name, ReportIcon.Info);
            }
        }