/// <summary>
 /// Retrieves, as an XNamespace in an option, the namespace name in this namespace resolver corresponding to the specified prefix.
 /// If the prefix is unknown, the option will be empty.
 /// </summary>
 /// <param name="namespaceResolver"></param>
 /// <param name="prefix"></param>
 /// <returns></returns>
 public static Opt <XNamespace> GetXNamespaceOpt(this IXmlNamespaceResolver namespaceResolver, string prefix)
 {
     if (namespaceResolver == null)
     {
         throw new ArgumentNullException("namespaceResolver");
     }
     if (prefix == null)
     {
         throw new ArgumentNullException("prefix");
     }
     return(namespaceResolver.LookupNamespaceOpt(prefix).SelectFix(ns => XNamespace.Get(ns)));
 }