You are here

RulesInterface.php in Zircon Profile 8

Same filename and directory in other branches
  1. 8.0 vendor/masterminds/html5/src/HTML5/Serializer/RulesInterface.php

The interface definition for Rules to generate output.

File

vendor/masterminds/html5/src/HTML5/Serializer/RulesInterface.php
View source
<?php

/**
 * @file
 * The interface definition for Rules to generate output.
 */
namespace Masterminds\HTML5\Serializer;


/**
 * To create a new rule set for writing output the RulesInterface needs to be
 * implemented.
 * The resulting class can be specified in the options with the
 * key of rules.
 *
 * For an example implementation see \Masterminds\HTML5\Serializer\OutputRules.
 */
interface RulesInterface {

  /**
   * The class constructor.
   *
   * Note, before the rules can be used a traverser must be registered.
   *
   * @param mixed $output
   *            The output stream to write output to.
   * @param array $options
   *            An array of options.
   */
  public function __construct($output, $options = array());

  /**
   * Register the traverser used in but the rules.
   *
   * Note, only one traverser can be used by the rules.
   *
   * @param \Masterminds\HTML5\Serializer\Traverser $traverser
   *            The traverser used in the rules.
   * @return \Masterminds\HTML5\Serializer\RulesInterface $this for the current object.
   */
  public function setTraverser(\Masterminds\HTML5\Serializer\Traverser $traverser);

  /**
   * Write a document element (\DOMDocument).
   *
   * Instead of returning the result write it to the output stream ($output)
   * that was passed into the constructor.
   *
   * @param \DOMDocument $dom
   */
  public function document($dom);

  /**
   * Write an element.
   *
   * Instead of returning the result write it to the output stream ($output)
   * that was passed into the constructor.
   *
   * @param mixed $ele
   */
  public function element($ele);

  /**
   * Write a text node.
   *
   * Instead of returning the result write it to the output stream ($output)
   * that was passed into the constructor.
   *
   * @param mixed $ele
   */
  public function text($ele);

  /**
   * Write a CDATA node.
   *
   * Instead of returning the result write it to the output stream ($output)
   * that was passed into the constructor.
   *
   * @param mixed $ele
   */
  public function cdata($ele);

  /**
   * Write a comment node.
   *
   * Instead of returning the result write it to the output stream ($output)
   * that was passed into the constructor.
   *
   * @param mixed $ele
   */
  public function comment($ele);

  /**
   * Write a processor instruction.
   *
   * To learn about processor instructions see \Masterminds\HTML5\InstructionProcessor
   *
   * Instead of returning the result write it to the output stream ($output)
   * that was passed into the constructor.
   *
   * @param mixed $ele
   */
  public function processorInstruction($ele);

}

Interfaces

Namesort descending Description
RulesInterface To create a new rule set for writing output the RulesInterface needs to be implemented. The resulting class can be specified in the options with the key of rules.