protected function fromXML(DOMElement $node) { parent::fromXML($node); $this->allowsSameNameSiblings = Helper::getBoolAttribute($node, 'sameNameSiblings'); $this->defaultPrimaryTypeName = $node->getAttribute('defaultPrimaryType'); if (empty($this->defaultPrimaryTypeName)) { $this->defaultPrimaryTypeName = null; } $xp = new DOMXPath($node->ownerDocument); $requiredPrimaryTypes = $xp->query('requiredPrimaryTypes/requiredPrimaryType', $node); if (0 < $requiredPrimaryTypes->length) { foreach ($requiredPrimaryTypes as $requiredPrimaryType) { $this->requiredPrimaryTypeNames[] = $requiredPrimaryType->nodeValue; } } else { $this->requiredPrimaryTypeNames[] = self::DEFAULT_PRIMARY_NODE; } }
protected function fromXML(DOMElement $node) { parent::fromXML($node); $this->requiredType = \PHPCR\PropertyType::valueFromName($node->getAttribute('requiredType')); $this->isMultiple = Helper::getBoolAttribute($node, 'multiple'); $this->isFullTextSearchable = Helper::getBoolAttribute($node, 'fullTextSearchable'); $this->isQueryOrderable = Helper::getBoolAttribute($node, 'queryOrderable'); $xp = new DOMXPath($node->ownerDocument); $valueConstraints = $xp->query('valueConstraints/valueConstraint', $node); foreach ($valueConstraints as $valueConstraint) { $this->valueConstraints[] = $valueConstraint->nodeValue; } $availableQueryOperators = $xp->query('availableQueryOperators/availableQueryOperator', $node); foreach ($availableQueryOperators as $availableQueryOperator) { $this->availableQueryOperators[] = $availableQueryOperator->nodeValue; } $defaultValues = $xp->query('defaultValues/defaultValue', $node); foreach ($defaultValues as $defaultValue) { $this->defaultValues[] = $defaultValue->nodeValue; } }