internal static QName Parse(XMLLib lib, Context cx, object namespaceValue, object nameValue) { String uri; String localName; String prefix; if (nameValue is QName) { QName qname = (QName)nameValue; localName = qname.LocalName; } else { localName = ScriptConvert.ToString(nameValue); } Namespace ns; if (namespaceValue == Undefined.Value) { if ("*".Equals(localName)) { ns = null; } else { ns = lib.GetDefaultNamespace(cx); } } else if (namespaceValue == null) { ns = null; } else if (namespaceValue is Namespace) { ns = (Namespace)namespaceValue; } else { ns = Namespace.Parse(lib, cx, namespaceValue); } if (ns == null) { uri = null; prefix = null; } else { uri = ns.Uri; prefix = ns.Prefix; } return(new QName(lib, uri, localName, prefix)); }
internal static QName Parse(XMLLib lib, Context cx, string localName) { if (localName == null) { throw new ArgumentNullException("localName"); } String uri; String prefix; if ("*".Equals(localName)) { uri = null; prefix = null; } else { Namespace ns = lib.GetDefaultNamespace(cx); uri = ns.Uri; prefix = ns.Prefix; } return(new QName(lib, uri, localName, prefix)); }
internal static QName Parse (XMLLib lib, Context cx, object namespaceValue, object nameValue) { String uri; String localName; String prefix; if (nameValue is QName) { QName qname = (QName)nameValue; localName = qname.LocalName; } else { localName = ScriptConvert.ToString (nameValue); } Namespace ns; if (namespaceValue == Undefined.Value) { if ("*".Equals (localName)) { ns = null; } else { ns = lib.GetDefaultNamespace (cx); } } else if (namespaceValue == null) { ns = null; } else if (namespaceValue is Namespace) { ns = (Namespace)namespaceValue; } else { ns = Namespace.Parse (lib, cx, namespaceValue); } if (ns == null) { uri = null; prefix = null; } else { uri = ns.Uri; prefix = ns.Prefix; } return new QName (lib, uri, localName, prefix); }
internal static QName Parse (XMLLib lib, Context cx, string localName) { if (localName == null) throw new ArgumentNullException ("localName"); String uri; String prefix; if ("*".Equals (localName)) { uri = null; prefix = null; } else { Namespace ns = lib.GetDefaultNamespace (cx); uri = ns.Uri; prefix = ns.Prefix; } return new QName (lib, uri, localName, prefix); }