Beispiel #1
0
 public function testToArray2()
 {
     $array = array('Subset' => array('localizedName' => 'Subset', 'explanation' => 'Subset of values can be chosen', 'fields' => array('minLength' => array('localizedName' => 'minimum length', 'minValue' => 1, 'minValueInclusive' => true, 'maxValue' => 1, 'maxValueInclusive' => true, 'dataType' => 'integer', 'previous' => null), 'maxLength' => array('localizedName' => 'maximum length', 'minValue' => 1, 'minValueInclusive' => true, 'maxValue' => 5, 'maxValueInclusive' => true, 'dataType' => 'integer', 'previous' => 'isSmallerOrEqual'))));
     $C = new Coefficient('Subset', 'Subset', 'Subset of values can be chosen');
     $C->addField('minLength', 'minimum length', 1, true, 1, true, 'integer', null);
     $C->addField('maxLength', 'maximum length', 1, true, 5, true, 'integer', 'isSmallerOrEqual');
     $this->assertEquals($array, $C->toArray());
 }
Beispiel #2
0
 protected function parseCoefficients()
 {
     $array['coefficients'] = array();
     foreach ($this->XPath->evaluate('BuildingBlocks/BasicBooleanAttribute/Coefficient/Type') as $t) {
         $name = $this->XPath->evaluate('Name', $t)->item(0)->nodeValue;
         $localizedName = '';
         if ($LN = $this->XPath->evaluate('LocalizedName[@lang="' . $this->lang . '"]', $t)->item(0)) {
             $localizedName = $LN->nodeValue;
         }
         $explanation = '';
         if ($EX = $this->XPath->evaluate('Explanation[@lang="' . $this->lang . '"]', $t)->item(0)) {
             $explanation = $EX->nodeValue;
         }
         $C = new Coefficient($name, $localizedName, $explanation);
         foreach ($this->XPath->evaluate('Field', $t) as $f) {
             $name = $this->XPath->evaluate('Name', $f)->item(0)->nodeValue;
             $localizedName = $this->XPath->evaluate('LocalizedName[@lang="' . $this->lang . '"]', $f)->item(0)->nodeValue;
             if ($mv = $this->XPath->evaluate('Validation/MinValue', $f)->item(0)) {
                 $minValue = intval($mv->nodeValue);
             } else {
                 $minValue = self::$IM_MIN;
             }
             if ($mv = $this->XPath->evaluate('Validation/MaxValue', $f)->item(0)) {
                 $maxValue = intval($mv->nodeValue);
             } else {
                 $maxValue = self::$IM_MAX;
             }
             $dataType = $this->XPath->evaluate('Validation/Datatype', $f)->item(0)->nodeValue;
             $previous = '';
             if ($PR = $this->XPath->evaluate('Validation/Previous', $f)->item(0)) {
                 $previous = $PR->nodeValue;
             }
             $C->addField($name, $localizedName, $minValue, self::$IM_INCLUSIVE_MIN, $maxValue, self::$IM_INCLUSIVE_MAX, $dataType, $previous);
         }
         $array['coefficients'] = array_merge_recursive($array['coefficients'], $C->toArray());
     }
     return $array;
 }