protected function parseScoping(\DOMElement $xml)
{
$scoping = Utils::xpQuery($xml, './saml_protocol:Scoping');
if (empty($scoping)) {
return;
}
$scoping = $scoping[0];
if ($scoping->hasAttribute('ProxyCount')) {
$this->ProxyCount = (int) $scoping->getAttribute('ProxyCount');
}
$idpEntries = Utils::xpQuery($scoping, './saml_protocol:IDPList/saml_protocol:IDPEntry');
foreach ($idpEntries as $idpEntry) {
if (!$idpEntry->hasAttribute('ProviderID')) {
throw new \Exception("Could not get ProviderID from Scoping/IDPEntry element in AuthnRequest object");
}
$this->IDPList[] = $idpEntry->getAttribute('ProviderID');
}
$requesterIDs = Utils::xpQuery($scoping, './saml_protocol:RequesterID');
foreach ($requesterIDs as $requesterID) {
$this->RequesterID[] = trim($requesterID->textContent);
}
}