public function getPropertyDefinitionFromXml(DOMElement $node)
{
$data = $this->getItemDefinitionFromXml($node);
$data['requiredType'] = PropertyType::valueFromName($node->getAttribute('requiredType'));
$data['multiple'] = Helper::getBoolAttribute($node, 'multiple');
$data['fullTextSearchable'] = Helper::getBoolAttribute($node, 'fullTextSearchable');
$data['queryOrderable'] = Helper::getBoolAttribute($node, 'queryOrderable');
$xp = new DOMXPath($node->ownerDocument);
$valueConstraints = $xp->query('valueConstraints/valueConstraint', $node);
foreach ($valueConstraints as $valueConstraint) {
$data['valueConstraints'][] = $valueConstraint->nodeValue;
}
$availableQueryOperators = $xp->query('availableQueryOperators/availableQueryOperator', $node);
foreach ($availableQueryOperators as $availableQueryOperator) {
$data['availableQueryOperators'][] = $availableQueryOperator->nodeValue;
}
$defaultValues = $xp->query('defaultValues/defaultValue', $node);
foreach ($defaultValues as $defaultValue) {
$data['defaultValues'][] = $defaultValue->nodeValue;
}
return $data;
}