コード例 #1
0
        private XsltArgumentList TransformArguments(Strand Strand)
        {
            var arguments = new XsltArgumentList();
            string theme = "";

            switch (Strand.ActualSection.Name)
            {
                case "Home":
                    theme = "0";
                    break;
                case "Science":
                case "Science_&_Philosophy":
                case "Science & Philophy":
                    theme = "1";
                    break;
                case "Arts":
                case "Arts_&_Literature":
                case "Arts & Literature":
                    theme = "2";
                    break;
                case "Music":
                    theme = "3";
                    break;
                case "Public":
                case "Public_Affairs":
                case "Public Affairs":
                    theme = "4";
                    break;
                case "Questionnaire":
                    theme = "5";
                    break;
                default:
                    theme = "0";
                    break;
            }
            arguments.AddParam("TabId", "", theme);
            arguments.AddParam("AppURL", "", this._applUrl);
            arguments.AddParam("AppImgBase", "", this._applUrl + "/" + this._applImgBase);
            arguments.AddParam("DocBase", "", this._docBase);
            arguments.AddParam("ArticleBase", "", StrandsModel.BaseUrl);
            arguments.AddParam("XBaseURL", "", StrandsModel.CrossBaseUri);
            arguments.AddParam("AppBase", "", Strand.Uri.Substring(0, Strand.Uri.LastIndexOf("/")) + "/");
            arguments.AddParam("SrcURL", "", Strand.Name);
            arguments.AddParam("Sect", "", Strand.GetSectionData());
            arguments.AddParam("cssclasstype", "", this.DisplayType);
            //Put switches for RQRenderer here. Actually only MathRenderers (MathPlayer) implemented
            arguments.AddParam("Extensions", "", _mathRenderer.GetMathTransformParams());
            arguments.AddExtensionObject("urn:StrandsExtension", new StrandsExtension.LinkUtils());
            return arguments;
        }