Lines Matching refs:this

116       $this->setOptions($options, $defaultPrefix);
130 $this->hasOption(self::OPTION_EXPLICIT_NAMESPACES) &&
131 $this->hasOption(self::OPTION_DEFAULT_NAMESPACE)
142 $this->_options = $options;
143 $this->_defaultNamespacePrefix = trim($defaultPrefix);
150 $this->_buffer = '';
151 $this->_status = self::STATUS_DEFAULT;
160 $this->_buffer .= $string;
171 $this->_status = $status;
173 return $this->_status;
183 return ($this->_options & $option) === $option;
190 return $this->_buffer;
194 switch ($this->status()) {
197 $this->_element = $element;
207 switch ($this->status()) {
210 $this->setElement('*');
211 $this->add('*[');
214 $this->add($condition);
217 $this->add('[');
220 $this->add(' and ');
223 $this->status(self::STATUS_CONDITION);
224 $this->add($condition);
232 if ($this->status() === self::STATUS_CONDITION) {
233 $this->add(']');
235 $this->status(self::STATUS_DEFAULT);
273 if (!empty($this->_buffer)) {
291 switch ($this->status()) {
293 if (!empty($this->_buffer)) {
294 $this->add('|');
299 if ($this->hasOption(self::OPTION_USE_CONTEXT_DOCUMENT)) {
300 $this->add('//');
301 } elseif ($this->hasOption(self::OPTION_USE_CONTEXT_SELF_LIMIT)) {
302 $this->add('self::');
303 } elseif ($this->hasOption(self::OPTION_USE_CONTEXT_SELF)) {
304 $this->add('descendant-or-self::');
306 $this->add('.//');
310 $this->endConditions();
311 $this->add('//');
323 $this->endConditions();
338 $this->setElement($element);
339 $this->add($element);
340 $this->status(self::STATUS_ELEMENT);
349 if ($this->hasOption(self::OPTION_LOWERCASE_ELEMENTS)) {
350 $elementName = $this->strToLower($type->elementName);
354 if ('' === $type->namespacePrefix && $this->hasOption(self::OPTION_EXPLICIT_NAMESPACES)) {
355 $this->add($elementName);
356 $this->setElement($elementName);
357 $this->status(self::STATUS_ELEMENT);
361 $this->add($type->namespacePrefix.':'.$elementName);
362 $this->setElement($type->namespacePrefix.':'.$elementName);
363 $this->status(self::STATUS_ELEMENT);
364 } elseif ($isEmptyPrefix && $this->hasOption(self::OPTION_DEFAULT_NAMESPACE)) {
365 $condition = '(self::'.$elementName.' or self::'.$this->_defaultNamespacePrefix.':'.$elementName.')';
366 if ($this->status() !== self::STATUS_PSEUDOCLASS) {
367 $this->setElement('*['.$condition.']');
368 $this->add('*');
369 $this->status(self::STATUS_ELEMENT);
371 $this->addCondition($condition);
373 $condition = 'local-name() = '.$this->quoteLiteral($elementName);
374 if ($this->status() !== self::STATUS_PSEUDOCLASS) {
375 $this->setElement('*['.$condition.']');
376 $this->add('*');
377 $this->status(self::STATUS_ELEMENT);
379 $this->addCondition($condition);
390 $this->addCondition(
393 $this->hasOption(self::OPTION_XML_ATTRIBUTES) ? 'xml:id' : 'id',
394 $this->quoteLiteral($id->id)
406 $this->addCondition(
422 $this->quoteLiteral($attribute->literal->value)
430 $this->quoteLiteral($attribute->literal->value)
437 $this->quoteLiteral($attribute->literal->value)
441 $condition = '@'.$attribute->name.' = '.$this->quoteLiteral($attribute->literal->value);
447 $this->quoteLiteral(' '.trim($attribute->literal->value).' ')
454 $this->quoteLiteral($attribute->literal->value)
463 $this->addCondition($condition);
468 $this->endConditions();
469 if ($this->_buffer !== '') {
470 $this->add('/');
472 $this->status(self::STATUS_COMBINATOR);
476 $this->endConditions();
477 if ($this->_buffer !== '') {
478 $this->add('//');
480 $this->add('.//');
482 $this->status(self::STATUS_COMBINATOR);
486 $this->endConditions();
487 if ($this->_buffer !== '') {
488 $this->add('/');
490 $this->add('following-sibling::');
491 $this->status(self::STATUS_COMBINATOR);
495 $this->endConditions();
496 if ($this->_buffer !== '') {
497 $this->add('/');
499 $this->add('following-sibling::*[1]/self::');
500 $this->status(self::STATUS_COMBINATOR);
528 $condition = '(count(preceding-sibling::'.$this->_element.') = 0)';
531 $condition = '(count(following-sibling::'.$this->_element.') = 0)';
537 $condition = '(count(parent::*/'.$this->_element.') = 1)';
540 if ($this->status() === self::STATUS_CONDITION) {
541 $this->add(']');
542 $this->status(self::STATUS_ELEMENT);
547 if ($this->status() === self::STATUS_CONDITION) {
548 $this->add(']');
549 $this->status(self::STATUS_ELEMENT);
556 $this->addCondition($condition);
562 $this->addCondition('not(');
563 $this->status(self::STATUS_PSEUDOCLASS);
566 $this->addCondition('(');
567 $this->status(self::STATUS_DEFAULT);
574 $this->addCondition('contains(., '.$this->quoteLiteral($parameter->value));
575 $this->status(self::STATUS_PSEUDOCLASS);
584 if ($this->status() === self::STATUS_CONDITION) {
585 $this->add(']');
587 $this->status(self::STATUS_ELEMENT);
592 $this->addCondition(
598 $this->addCondition('(');
599 $this->status(self::STATUS_PSEUDOCLASS);
600 $this->_expressions['position'] = 'position()';
601 $this->_expressions['count'] = 'last()';
604 $this->addCondition('(');
605 $this->status(self::STATUS_PSEUDOCLASS);
606 $this->_expressions['position'] = '(last() - position() + 1)';
607 $this->_expressions['count'] = 'count()';
610 $this->addCondition('(');
611 $this->status(self::STATUS_PSEUDOCLASS);
612 $this->_expressions['position'] = '(count(preceding-sibling::'.$this->_element.') + 1)';
613 $this->_expressions['count'] = 'count(parent::*/'.$this->_element.')';
616 $this->addCondition('(');
617 $this->status(self::STATUS_PSEUDOCLASS);
618 $this->_expressions['position'] = '(count(following-sibling::'.$this->_element.') + 1)';
619 $this->_expressions['count'] = 'count(parent::*/'.$this->_element.')';
626 $this->endConditions();
627 $this->add(')');
628 $this->status(self::STATUS_CONDITION);
636 $expressionPosition = empty($this->_expressions['position'])
637 ? 'position()' : $this->_expressions['position'];
638 $expressionCount = empty($this->_expressions['count'])
639 ? 'last()' : $this->_expressions['count'];
665 $this->add($condition);
678 $this->addCondition(
682 $this->quoteLiteral($language->language),
683 $this->hasOption(self::OPTION_XML_ATTRIBUTES) ? 'xml:lang' : 'lang'