Example #1
0
 /**
  * Depending on the values of the 'literalize' and 'space' attributes of the element
  * the transformed or literal value of the value is returned
  *
  * @param \DOMNode $element element to get a value for
  *
  * @return mixed literalized and/or whitespace preserved value or null if value is empty
  */
 protected function getLiteralValue($element)
 {
     $value = $element->getValue();
     $trimmed_value = trim($value);
     $preserve_whitespace = $element->getAttributeValue('space', 'default') === 'preserve';
     $literalize_value = self::literalize($element->getAttributeValue('literalize')) !== false;
     if ($literalize_value) {
         if ($preserve_whitespace && ($trimmed_value === '' || $value !== $trimmed_value)) {
             $value = $value;
         } else {
             $value = self::literalize($trimmed_value);
         }
     } elseif (!$preserve_whitespace) {
         $value = $trimmed_value;
         if ($value === '') {
             $value = null;
         }
     }
     return $value;
 }