/** * Adds property values to the ParserOutput instance * * @since 1.9 * * @param array $properties * * @return string */ protected function addPropertyValue(array $properties, $value, $valueCaption) { $subject = $this->parserData->getSubject(); if (($propertyLink = $this->getPropertyLink($subject, $properties, $value, $valueCaption)) !== '') { return $propertyLink; } // Add properties to the semantic container foreach ($properties as $property) { $dataValue = $this->dataValueFactory->newDataValueByText($property, $value, $valueCaption, $subject); if ($this->isEnabledNamespace && $this->isAnnotation && $this->parserData->canModifySemanticData()) { $this->parserData->addDataValue($dataValue); } } // Return the text representation $result = $dataValue->getShortWikitext(true); // If necessary add an error text if ($this->settings->get('smwgInlineErrors') && $this->isEnabledNamespace && $this->isAnnotation && !$dataValue->isValid()) { // Encode `:` to avoid a comment block and instead of the nowiki tag // use : as placeholder $result = str_replace(':', ':', $result) . $dataValue->getErrorText(); } return $result; }