Parses a collection of "constraint" XML nodes.
\SimpleXMLElement $nodes The XML nodes:
array The Constraint instances
protected function parseConstraints(\SimpleXMLElement $nodes) {
$constraints = array();
foreach ($nodes as $node) {
if (count($node) > 0) {
if (count($node->value) > 0) {
$options = $this
->parseValues($node->value);
}
elseif (count($node->constraint) > 0) {
$options = $this
->parseConstraints($node->constraint);
}
elseif (count($node->option) > 0) {
$options = $this
->parseOptions($node->option);
}
else {
$options = array();
}
}
elseif (strlen((string) $node) > 0) {
$options = trim($node);
}
else {
$options = null;
}
$constraints[] = $this
->newConstraint($node['name'], $options);
}
return $constraints;
}