protected function XmlFileLoader::parseConstraints

Parses a collection of "constraint" XML nodes.

Parameters

\SimpleXMLElement $nodes The XML nodes:

Return value

array The Constraint instances

3 calls to XmlFileLoader::parseConstraints()
XmlFileLoader::loadClassMetadata in drupal/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/XmlFileLoader.php
Load a Class Metadata.
XmlFileLoader::parseOptions in drupal/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/XmlFileLoader.php
Parses a collection of "option" XML nodes.
XmlFileLoader::parseValues in drupal/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/XmlFileLoader.php
Parses a collection of "value" XML nodes.

File

drupal/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/XmlFileLoader.php, line 87

Class

XmlFileLoader

Namespace

Symfony\Component\Validator\Mapping\Loader

Code

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;
}