diff options
author | Atsushi Eno <atsushieno@gmail.com> | 2005-03-09 13:11:52 +0300 |
---|---|---|
committer | Atsushi Eno <atsushieno@gmail.com> | 2005-03-09 13:11:52 +0300 |
commit | 57543d7be72b16d6abdd4c6021c1a3d654775c9b (patch) | |
tree | 592f3be2656a5d85315a27df7d6db91e9e135ab8 /mcs/class/System.XML/Mono.Xml.Xsl.Operations | |
parent | cc3108d353f847b1d045ca94af201435a6a84343 (diff) |
2005-03-09 Atsushi Enomoto <atsushi@ximian.com>
* XslVariable.cs : clone stored XPathNavigator items before storing.
* XslAttribute.cs : tiny code reduction.
* Iterator.cs : Now for most of iterator types, Current property always
returns the same instance. It results in huge memory reduction.
svn path=/trunk/mcs/; revision=41591
Diffstat (limited to 'mcs/class/System.XML/Mono.Xml.Xsl.Operations')
3 files changed, 7 insertions, 5 deletions
diff --git a/mcs/class/System.XML/Mono.Xml.Xsl.Operations/ChangeLog b/mcs/class/System.XML/Mono.Xml.Xsl.Operations/ChangeLog index 68bb50f1051..d3d476f16dd 100644 --- a/mcs/class/System.XML/Mono.Xml.Xsl.Operations/ChangeLog +++ b/mcs/class/System.XML/Mono.Xml.Xsl.Operations/ChangeLog @@ -1,3 +1,8 @@ +2005-03-09 Atsushi Enomoto <atsushi@ximian.com> + + * XslVariable.cs : clone stored XPathNavigator items before storing. + * XslAttribute.cs : tiny code reduction. + 2005-03-08 Atsushi Enomoto <atsushi@ximian.com> * XslAttribute.cs : In Evaluate(), name strings are not computed as diff --git a/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslAttribute.cs b/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslAttribute.cs index 1f5e753303c..6f9105396f9 100644 --- a/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslAttribute.cs +++ b/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslAttribute.cs @@ -90,7 +90,6 @@ namespace Mono.Xml.Xsl.Operations { value = c.CompileTemplateContent (XPathNodeType.Attribute); c.Input.MoveToParent (); } - } public override void Evaluate (XslTransformProcessor p) @@ -110,7 +109,7 @@ namespace Mono.Xml.Xsl.Operations { // local attribute if (colonAt > 0) { prefix = nm.Substring (0, colonAt); - nm = nm.Substring (colonAt + 1, nm.Length - colonAt - 1); + nm = nm.Substring (colonAt + 1); // global attribute if (nmsp == String.Empty && @@ -121,8 +120,6 @@ namespace Mono.Xml.Xsl.Operations { if (nmsp == null) nmsp = String.Empty; } - else - nm = XslNameUtil.LocalNameOf (nm); } if (prefix == "xmlns") diff --git a/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslVariable.cs b/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslVariable.cs index 04a263c57c7..f098eedd3b2 100644 --- a/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslVariable.cs +++ b/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslVariable.cs @@ -94,7 +94,7 @@ namespace Mono.Xml.Xsl.Operations { ArrayList al = new ArrayList (); XPathNodeIterator iter = (XPathNodeIterator) o; while (iter.MoveNext ()) - al.Add (iter.Current); + al.Add (iter.Current.Clone ()); o = new ListIterator (al, p.XPathContext, false); } return o; |