1 <?php declare(strict_types=1);
20 libxml_use_internal_errors(
true);
22 $xml =
new SimpleXMLElement($xml);
24 $xml->registerXPathNamespace(
'md',
'urn:oasis:names:tc:SAML:2.0:metadata');
25 $xml->registerXPathNamespace(
'mdui',
'urn:oasis:names:tc:SAML:metadata:ui');
27 $idps = $xml->xpath(
'//md:EntityDescriptor[//md:IDPSSODescriptor]');
29 if ($idps && isset($idps[0])) {
30 $entityid = (string) $idps[0]->attributes(
'',
true)->entityID[0];
33 foreach (libxml_get_errors() as $error) {
34 $this->
pushError($error->line .
': ' . $error->message);
38 $this->entityId = $entityid;
41 libxml_clear_errors();
49 $this->errors[] = $error;