public function __construct(Collection $meta) { parent::__construct(); $this->docset = $this->createElement('channel'); $rss = $this->createElement('rss'); if ($meta->containsKey('rss')) { foreach ($meta->get('rss') as $attr => $value) { $rss->setAttribute($attr, $value); } } foreach ($meta as $key => $value) { if (empty($value)) { continue; } if (is_array($value)) { } else { $new = $this->createElement($key, $value); } if (isset($new)) { $this->docset->appendChild($new); unset($new); } } $rss->appendChild($this->docset); $this->appendChild($rss); }
public function __construct(SchemaInterface $schema, $slug = false) { parent::__construct(); $this->docset = $this->createElement('sphinx:docset'); $this->appendChild($this->docset); $elements = $this->createElement('sphinx:schema'); foreach ($schema->getSchema() as $type => $list) { foreach ($list as $key => $prop) { $elements->appendChild($this->factoryTag($type, $key, $prop)); } } if ($slug) { foreach ($schema->getSluggables() as $key) { $elements->appendChild($this->factoryTag('field', $key . '_slug', ['attr' => 'string'])); } } $this->docset->appendChild($elements); }