add DISABLE_XSLT_SCRIPT and DISABLE_XSLT_COMPILER.
authorAtsushi Eno <atsushieno@gmail.com>
Tue, 3 Feb 2015 11:53:03 +0000 (19:53 +0800)
committerMarek Safar <marek.safar@gmail.com>
Mon, 2 May 2016 22:07:55 +0000 (00:07 +0200)
The former condition is to disable <msxsl:script> element.
The latter is to disable XslCompiledTransform and co (though they are
mostly removed at *.dll.sources level).

mcs/class/referencesource/System.Data.SqlXml/System/Xml/Xsl/XslException.cs
mcs/class/referencesource/System.Data.SqlXml/System/Xml/Xsl/XsltOld/Compiler.cs
mcs/class/referencesource/System.Data.SqlXml/System/Xml/Xsl/XsltOld/ContainerAction.cs
mcs/class/referencesource/System.Xml/System/Xml/Core/XmlWriterSettings.cs
mcs/class/referencesource/System.Xml/System/Xml/Xslt/XsltSettings.cs

index 2462fc6a62e388b819779094526fb8b6282cfde2..e0016a461aba063b74b626c92d2d1f8f6826c199 100644 (file)
@@ -124,6 +124,7 @@ namespace System.Xml.Xsl {
             SetSourceLineInfo(lineInfo);
         }
 
+#if !DISABLE_XSLT_SCRIPT
         internal XslLoadException(CompilerError error)
             : base(Res.Xml_UserException, new string[] { error.ErrorText })
         {
@@ -148,6 +149,7 @@ namespace System.Xml.Xsl {
 
             SetSourceLineInfo(new SourceLineInfo(error.FileName, errorLine, errorColumn, errorLine, errorColumn));
         }
+#endif
 
         internal void SetSourceLineInfo(ISourceLineInfo lineInfo) {
             Debug.Assert(lineInfo == null || lineInfo.Uri != null);
index b1bf9f9f1538ea570ee8e513cb6fed66e98d2ae3..f13e16ea9a2f8ddb8a96bf5d82fbf588e55029b7 100644 (file)
@@ -196,7 +196,9 @@ namespace System.Xml.Xsl.XsltOld {
                 this.stylesheet.ProcessTemplates();
                 this.rootAction.PorcessAttributeSets(this.rootStylesheet);
                 this.stylesheet.SortWhiteSpace();
+#if !DISABLE_XSLT_SCRIPT
                 CompileScript(evidence);
+#endif
                 if (evidence != null) {
                     this.rootAction.permissions = SecurityManager.GetStandardSandbox(evidence);
                 }
@@ -686,6 +688,7 @@ namespace System.Xml.Xsl.XsltOld {
             return "ScriptClass_" + System.Threading.Interlocked.Increment(ref scriptClassCounter);
         }
 
+#if !DISABLE_XSLT_SCRIPT
         internal void AddScript(string source, ScriptingLanguage lang, string ns, string fileName, int lineNumber) {
             ValidateExtensionNamespace(ns);
 
@@ -710,6 +713,7 @@ namespace System.Xml.Xsl.XsltOld {
                 }
             }
         }
+#endif
 
         private static void ValidateExtensionNamespace(string nsUri) {
             if (nsUri.Length == 0 || nsUri == XmlReservedNs.NsXslt) {
@@ -718,6 +722,7 @@ namespace System.Xml.Xsl.XsltOld {
             XmlConvert.ToUri(nsUri);
         }
 
+#if !DISABLE_XSLT_SCRIPT
         private void FixCompilerError(CompilerError e) {
             foreach(string scriptFile in this.scriptFiles) {
                 if (e.FileName == scriptFile) {
@@ -824,6 +829,7 @@ namespace System.Xml.Xsl.XsltOld {
                 this.stylesheet.ScriptObjectTypes.Add(ns, assembly.GetType(nsName + "." + scriptClass.Name));
             }
         }
+#endif
 
         public string GetNsAlias(ref string prefix) {
             Debug.Assert(
index 7fd963341f734c78fc6f995240acc09c29eaad8b..35fb38f4b1312f6f7ffac157bc5f540ac065ed6c 100644 (file)
@@ -494,9 +494,11 @@ namespace System.Xml.Xsl.XsltOld {
                             compiler.PopScope();
                         }
                     }
+#if !DISABLE_XSLT_SCRIPT
                     else if (nspace == input.Atoms.UrnMsxsl && name == input.Atoms.Script) {
                         AddScript(compiler);
                     }
+#endif
                     else {
                         if (nspace.Length == 0) {
                             throw XsltException.Create(Res.Xslt_NullNsAtTopLevel, input.Name);
@@ -738,6 +740,7 @@ namespace System.Xml.Xsl.XsltOld {
             lastCopyCodeAction.AddEvents(copyEvents);
         }
 
+#if !DISABLE_XSLT_SCRIPT
         private void AddScript(Compiler compiler) {
             NavigatorInput input = compiler.Input;
 
@@ -789,6 +792,7 @@ namespace System.Xml.Xsl.XsltOld {
             compiler.AddScript(input.Value, lang, implementsNamespace, input.BaseURI, input.LineNumber);
             input.ToParent();
         }
+#endif
 
         internal override void Execute(Processor processor, ActionFrame frame) {
             Debug.Assert(processor != null && frame != null);
index 321debcd68985cec8c67290546c5916a1aba3016..0e5d3e1b79b4fb4a6992cfc8f6e56f2df662d917 100644 (file)
@@ -766,6 +766,7 @@ namespace System.Xml {
 #if !SILVERLIGHT
 
 #if !HIDE_XSL
+#if !DISABLE_XSLT_COMPILER
         /// <summary>
         /// Serialize the object to BinaryWriter.
         /// </summary>
@@ -864,6 +865,7 @@ namespace System.Xml {
             // bool isReadOnly;
             ReadOnly = reader.ReadBoolean();
         }
+#endif
 #else
         internal void GetObjectData(object writer) { }
         internal XmlWriterSettings(object reader) { }
index fa0ad069fbe5510caa12bb261b356f979ea42ce1..94fcee6d2d90214d24c2e99fdf42ecaa68eced69 100644 (file)
@@ -16,7 +16,9 @@ namespace System.Xml.Xsl {
         private bool includeDebugInformation;
         private int  warningLevel = -1;     // -1 means not set
         private bool treatWarningsAsErrors;
+#if !DISABLE_XSLT_COMPILER
         private TempFileCollection tempFiles;
+#endif
 
         public XsltSettings() { }
 
@@ -63,9 +65,11 @@ namespace System.Xml.Xsl {
             set { treatWarningsAsErrors = value; }
         }
 
+#if !DISABLE_XSLT_COMPILER
         internal TempFileCollection TempFiles {
             get { return tempFiles;  }
             set { tempFiles = value; }
         }
+#endif
     }
 }