diff --git a/lib/IdPAccountManager/SAMLMetadata.pm b/lib/IdPAccountManager/SAMLMetadata.pm index b7238f6fee27fc85a2915c372cef6d02858151cd..1025ba1530310787256b1a9552e8f41bcae3054d 100644 --- a/lib/IdPAccountManager/SAMLMetadata.pm +++ b/lib/IdPAccountManager/SAMLMetadata.pm @@ -56,7 +56,7 @@ sub parse { ## Ignoringnodes of type XML::LibXML::Text or XML::LibXML::Comment next unless $child->nodeType() == XML_ELEMENT_NODE; - if ($child->nodeName =~ /IDPSSODescriptor$/) { + if ($child->localname() eq 'IDPSSODescriptor') { $data->{type} = 'idp'; @@ -81,7 +81,7 @@ sub parse { push @{ $data->{domain} }, $scope->textContent(); } - } elsif ($child->nodeName =~ /SPSSODescriptor$/) { + } elsif ($child->localname() eq 'SPSSODescriptor') { $data->{type} = 'sp'; @@ -126,7 +126,7 @@ sub parse { }; } - } elsif ($child->nodeName =~ /Extensions$/) { + } elsif ($child->localname() eq 'Extensions') { foreach my $registrationinfo ( $child->getElementsByLocalName('RegistrationInfo')) @@ -151,7 +151,7 @@ sub parse { } } } - } elsif ($child->nodeName =~ /ContactPerson$/) { + } elsif ($child->localname() eq 'ContactPerson') { my %contact_details; $contact_details{type} = $child->getAttribute('contactType'); if (defined $contact_details{type}) {