public override void LoadInnerXml(XmlNodeList nodeList)
 {
     if (nodeList == null)
     {
         throw new CryptographicException(SR.Cryptography_Xml_UnknownTransform);
     }
     ExceptUris.Clear();
     foreach (XmlNode node in nodeList)
     {
         XmlElement elem = node as XmlElement;
         if (elem != null)
         {
             if (elem.LocalName == "Except" && elem.NamespaceURI == XmlDecryptionTransformNamespaceUrl)
             {
                 // the Uri is required
                 string uri = Utils.GetAttribute(elem, "URI", XmlDecryptionTransformNamespaceUrl);
                 if (uri == null || uri.Length == 0 || uri[0] != '#')
                 {
                     throw new CryptographicException(SR.Cryptography_Xml_UriRequired);
                 }
                 if (!Utils.VerifyAttributes(elem, "URI"))
                 {
                     throw new CryptographicException(SR.Cryptography_Xml_UnknownTransform);
                 }
                 string idref = Utils.ExtractIdFromLocalUri(uri);
                 ExceptUris.Add(idref);
             }
             else
             {
                 throw new CryptographicException(SR.Cryptography_Xml_UnknownTransform);
             }
         }
     }
 }
 public void AddExceptUri(string uri)
 {
     if (uri == null)
     {
         throw new ArgumentNullException(nameof(uri));
     }
     ExceptUris.Add(uri);
 }