2004-06-03 Atsushi Enomoto <atsushi@ximian.com>
authorAtsushi Eno <atsushieno@gmail.com>
Thu, 3 Jun 2004 21:01:54 +0000 (21:01 -0000)
committerAtsushi Eno <atsushieno@gmail.com>
Thu, 3 Jun 2004 21:01:54 +0000 (21:01 -0000)
* Compiler.cs,
  GenericOutputter.cs : XmlNamespaceManager.LookupPrefix() allows only
  atomized names. Fixed XPathNavigatorNsm.LookupNamespace() that
  should override another overload.

svn path=/trunk/mcs/; revision=28788

mcs/class/System.XML/Mono.Xml.Xsl/ChangeLog
mcs/class/System.XML/Mono.Xml.Xsl/Compiler.cs
mcs/class/System.XML/Mono.Xml.Xsl/GenericOutputter.cs

index 3fc0a149ddbcd8b62ddbf1eedd5e058ede61ea76..fcac46b6b3c127c0d4521145030fcca5e8fc6596 100644 (file)
@@ -1,3 +1,10 @@
+2004-06-03  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * Compiler.cs,
+         GenericOutputter.cs : XmlNamespaceManager.LookupPrefix() allows only
+         atomized names. Fixed XPathNavigatorNsm.LookupNamespace() that 
+         should override another overload.
+
 2004-05-25  Lluis Sanchez Gual  <lluis@ximian.com>
 
        * ScriptCompilerInfo.cs: the name used to load the Microsoft.JScript
index bc2721a9525a6a7b82a614c21c741a485de16013..e9f62ca5f25a84777ac081748bb5d33cd0d8dd8a 100644 (file)
@@ -496,7 +496,7 @@ namespace Mono.Xml.Xsl
                
                Expression IStaticXsltContext.TryGetFunction (QName name, FunctionArguments args)
                {
-                       string ns = GetNsm ().LookupNamespace (name.Namespace);
+                       string ns = GetNsm ().LookupNamespace (name.Namespace, false);
                        if (ns == XslStylesheet.MSXsltNamespace && name.Name == "node-set")
                                return new MSXslNodeSet (args);
                        
@@ -776,7 +776,7 @@ namespace Mono.Xml.Xsl
                {
                        int colon = name.IndexOf (':');
                        if (colon > 0)
-                               return new QName (name.Substring (colon + 1), ctx.LookupNamespace (name.Substring (0, colon)));
+                               return new QName (name.Substring (colon + 1), ctx.LookupNamespace (name.Substring (0, colon), false));
                        else if (colon < 0)
                                // Default namespace is not used for unprefixed names.
                                return new QName (name, "");
@@ -807,7 +807,11 @@ namespace Mono.Xml.Xsl
                
                public override string DefaultNamespace { get { return String.Empty; }}
 
-               public override string LookupNamespace (string prefix)
+#if NET_2_0
+               public override string LookupNamespace (string prefix, bool atomizedNames)
+#else
+               internal override string LookupNamespace (string prefix, bool atomizedNames)
+#endif
                {
                        if (prefix == "" || prefix == null)
                                return "";
index 63d863e8cc235acecff2e396234de3c2d789daf3..cf2ef2d255c6a4ad130dac501975d8652db0194d 100644 (file)
@@ -150,7 +150,7 @@ namespace Mono.Xml.Xsl
                                        Attribute attr = pendingAttributes [i];
                                        string prefix = attr.Prefix;
                                        if (prefix == String.Empty)
-                                               prefix = _nsManager.LookupPrefix (attr.Namespace);
+                                               prefix = _nsManager.LookupPrefix (attr.Namespace, false);
                                        Emitter.WriteAttributeString (prefix, attr.LocalName, attr.Namespace, attr.Value);
                                }
                                for (int i = 0; i < _currentNsPrefixes.Count; i++) {
@@ -275,14 +275,14 @@ namespace Mono.Xml.Xsl
 
                public override void WriteNamespaceDecl (string prefix, string nsUri)
                {
-                       if (_nsManager.LookupNamespace (prefix) == nsUri)
+                       if (_nsManager.LookupNamespace (prefix, false) == nsUri)
                                return;
 
                        if (prefix == String.Empty) {
                                //Default namespace
                                if (_nsManager.DefaultNamespace != nsUri)
                                        _nsManager.AddNamespace (prefix, nsUri);
-                       } else if (_nsManager.LookupPrefix (nsUri) == null)
+                       } else if (_nsManager.LookupPrefix (nsUri, false) == null)
                                //That's new namespace - add it to the collection
                                _nsManager.AddNamespace (prefix, nsUri);