createXmlType() public method

Generates a XML type that deals with XML data modifications.
public createXmlType ( string $type, array $params = [] ) : Horde_Kolab_Format_Xml_Type
$type string The value type.
$params array Additional parameters.
return Horde_Kolab_Format_Xml_Type The type.
Exemplo n.º 1
0
Arquivo: Base.php Projeto: horde/horde
 /**
  * Create a handler for the sub type of this attribute.
  *
  * @param string $type   The sub type.
  * @param array  $params Additional parameters.
  *
  * @return Horde_Kolab_Format_Xml_Type The sub type handler.
  */
 protected function createSubType($type, $params)
 {
     if (isset($params['api-version'])) {
         $class = $type . '_V' . $params['api-version'];
     } else {
         $class = $type;
     }
     if (!isset(self::$_xml_types[$class])) {
         self::$_xml_types[$class] = $this->_factory->createXmlType($type, $params);
     }
     return self::$_xml_types[$class];
 }
Exemplo n.º 2
0
 protected function getXmlType($type, $previous = null, $kolab_type = 'kolab', $version = '1.0')
 {
     $factory = new Horde_Kolab_Format_Factory();
     $doc = new DOMDocument('1.0', 'UTF-8');
     if ($previous !== null) {
         $doc->loadXML($previous);
         $helper = $factory->createXmlHelper($doc);
         $root_node = $helper->findNode('/' . $kolab_type);
     } else {
         $helper = $factory->createXmlHelper($doc);
         $root_node = $helper->createNewNode($doc, $kolab_type);
         $root_node->setAttribute('version', $version);
     }
     $type = $factory->createXmlType($type);
     return array($helper, $root_node, $type);
 }
Exemplo n.º 3
0
 /**
  * @expectedException Horde_Kolab_Format_Exception
  */
 public function testTypeMissing()
 {
     $factory = new Horde_Kolab_Format_Factory();
     $factory->createXmlType('Horde_Kolab_Format_Stub_Types_NOSUCH');
 }
Exemplo n.º 4
0
 protected function getXmlType($type, $previous = null, $kolab_type = 'kolab', $version = '1.0')
 {
     $factory = new Horde_Kolab_Format_Factory();
     $doc = new DOMDocument('1.0', 'UTF-8');
     if ($previous !== null) {
         $doc->loadXML($previous);
     }
     $helper = $factory->createXmlHelper($doc);
     $type = $factory->createXmlType($type);
     return array($helper, $doc, $type);
 }
Exemplo n.º 5
0
Arquivo: Xml.php Projeto: horde/horde
 /**
  * Return the root handler.
  *
  * @param array  $params Additional parameters.
  *
  * @return Horde_Kolab_Xml_Type_Root The root handler.
  */
 private function _getRoot($params = array())
 {
     return $this->_factory->createXmlType(self::TYPE_ROOT, $params);
 }