Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ AddScript()

void System.Xml.Xsl.XsltOld.ContainerAction.AddScript ( Compiler compiler)
inlineprivateinherited

Definition at line 767 of file ContainerAction.cs.

768 {
769 NavigatorInput input = compiler.Input;
771 string text = null;
772 if (input.MoveToFirstAttribute())
773 {
774 do
775 {
776 if (input.LocalName == input.Atoms.Language)
777 {
778 string value = input.Value;
779 if (string.Equals(value, "jscript", StringComparison.OrdinalIgnoreCase) || string.Equals(value, "javascript", StringComparison.OrdinalIgnoreCase))
780 {
781 lang = ScriptingLanguage.JScript;
782 continue;
783 }
784 if (string.Equals(value, "c#", StringComparison.OrdinalIgnoreCase) || string.Equals(value, "csharp", StringComparison.OrdinalIgnoreCase))
785 {
786 lang = ScriptingLanguage.CSharp;
787 continue;
788 }
789 if (!string.Equals(value, "vb", StringComparison.OrdinalIgnoreCase) && !string.Equals(value, "visualbasic", StringComparison.OrdinalIgnoreCase))
790 {
791 throw XsltException.Create(System.SR.Xslt_ScriptInvalidLanguage, value);
792 }
793 lang = ScriptingLanguage.VisualBasic;
794 }
795 else if (input.LocalName == input.Atoms.ImplementsPrefix)
796 {
797 if (!PrefixQName.ValidatePrefix(input.Value))
798 {
799 throw XsltException.Create(System.SR.Xslt_InvalidAttrValue, input.LocalName, input.Value);
800 }
801 text = compiler.ResolveXmlNamespace(input.Value);
802 }
803 }
804 while (input.MoveToNextAttribute());
805 input.ToParent();
806 }
807 if (text == null)
808 {
809 throw XsltException.Create(System.SR.Xslt_MissingAttribute, input.Atoms.ImplementsPrefix);
810 }
811 if (!input.Recurse() || input.NodeType != XPathNodeType.Text)
812 {
813 throw XsltException.Create(System.SR.Xslt_ScriptEmpty);
814 }
815 compiler.AddScript(input.Value, lang, text, input.BaseURI, input.LineNumber);
816 input.ToParent();
817 }
static string Xslt_MissingAttribute
Definition SR.cs:1882
static string Xslt_ScriptEmpty
Definition SR.cs:2118
static string Xslt_InvalidAttrValue
Definition SR.cs:1884
static string Xslt_ScriptInvalidLanguage
Definition SR.cs:1930
Definition SR.cs:7

References System.Xml.Xsl.XsltException.Create(), System.Xml.Dictionary, System.input, System.text, System.Xml.Xsl.XsltOld.PrefixQName.ValidatePrefix(), System.value, System.Xml.Xsl.XsltOld.NavigatorInput.Value, System.SR.Xslt_InvalidAttrValue, System.SR.Xslt_MissingAttribute, System.SR.Xslt_ScriptEmpty, and System.SR.Xslt_ScriptInvalidLanguage.

Referenced by System.Xml.Xsl.XsltOld.ContainerAction.CompileTopLevelElements().