+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
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);
{
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, "");
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 "";
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++) {
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);