diff options
-rw-r--r-- | mcs/class/System.XML/Mono.Xml.Xsl.Operations/ChangeLog | 5 | ||||
-rw-r--r-- | mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslAttribute.cs | 14 |
2 files changed, 14 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 aaad0e247a3..68bb50f1051 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-08 Atsushi Enomoto <atsushi@ximian.com> + + * XslAttribute.cs : In Evaluate(), name strings are not computed as + expected especially when they are bound to non-empty namespace. + 2005-03-07 Atsushi Enomoto <atsushi@ximian.com> * XslLiteralElement.cs : literal attributes should also consider 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 45450779112..1f5e753303c 100644 --- a/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslAttribute.cs +++ b/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslAttribute.cs @@ -113,11 +113,15 @@ namespace Mono.Xml.Xsl.Operations { nm = nm.Substring (colonAt + 1, nm.Length - colonAt - 1); // global attribute - if (nmsp == null) { - QName q = XslNameUtil.FromString (nm, nsDecls); - nm = q.Name; - nmsp = q.Namespace; - } else + if (nmsp == String.Empty && + prefix == XmlNamespaceManager.PrefixXml) + nmsp = XmlNamespaceManager.XmlnsXml; + else if (nmsp == String.Empty) { + nmsp = (string) nsDecls [prefix]; + if (nmsp == null) + nmsp = String.Empty; + } + else nm = XslNameUtil.LocalNameOf (nm); } |