XOOPS 2.5.6  Final
 All Classes Namespaces Files Functions Variables Pages
HTMLPurifier_ElementDef Class Reference

Public Member Functions

 mergeIn ($def)
 

Static Public Member Functions

static create ($content_model, $content_model_type, $attr)
 

Public Attributes

 $attr = array()
 
 $attr_transform_post = array()
 
 $attr_transform_pre = array()
 
 $autoclose = array()
 
 $child
 
 $content_model
 
 $content_model_type
 
 $descendants_are_inline = false
 
 $excludes = array()
 
 $formatting
 
 $required_attr = array()
 
 $standalone = true
 
 $wrap
 

Private Member Functions

 _mergeAssocArray (&$a1, $a2)
 

Detailed Description

Structure that stores an HTML element definition. Used by HTMLPurifier_HTMLDefinition and HTMLPurifier_HTMLModule.

Note
This class is inspected by HTMLPurifier_Printer_HTMLDefinition. Please update that class too.
Warning
If you add new properties to this class, you MUST update the mergeIn() method.

Definition at line 11 of file ElementDef.php.

Member Function Documentation

HTMLPurifier_ElementDef::_mergeAssocArray ( $a1,
  $a2 
)
private

Merges one array into another, removes values which equal false

Parameters
$a1Array by reference that is merged into
$a2Array that merges into $a1

Definition at line 171 of file ElementDef.php.

Referenced by mergeIn().

Here is the caller graph for this function:

static HTMLPurifier_ElementDef::create (   $content_model,
  $content_model_type,
  $attr 
)
static

Low-level factory constructor for creating new standalone element defs

Definition at line 116 of file ElementDef.php.

References $attr, $content_model, and $content_model_type.

Referenced by HTMLPurifier_HTMLModule\addElement().

Here is the caller graph for this function:

HTMLPurifier_ElementDef::mergeIn (   $def)

Merges the values of another element definition into this one. Values from the new element def take precedence if a value is not mergeable.

Definition at line 129 of file ElementDef.php.

References _mergeAssocArray().

Here is the call graph for this function:

Member Data Documentation

HTMLPurifier_ElementDef::$attr = array()

Associative array of attribute name to HTMLPurifier_AttrDef

Note
Before being processed by HTMLPurifier_AttrCollections when modules are finalized during HTMLPurifier_HTMLDefinition->setup(), this array may also contain an array at index 0 that indicates which attribute collections to load into the full array. It may also contain string indentifiers in lieu of HTMLPurifier_AttrDef, see HTMLPurifier_AttrTypes on how they are expanded during HTMLPurifier_HTMLDefinition->setup() processing.

Definition at line 31 of file ElementDef.php.

Referenced by create().

HTMLPurifier_ElementDef::$attr_transform_post = array()

Indexed list of tag's HTMLPurifier_AttrTransform to be done after validation

Definition at line 41 of file ElementDef.php.

HTMLPurifier_ElementDef::$attr_transform_pre = array()

Indexed list of tag's HTMLPurifier_AttrTransform to be done before validation

Definition at line 36 of file ElementDef.php.

HTMLPurifier_ElementDef::$autoclose = array()

This tag is explicitly auto-closed by the following tags.

Definition at line 98 of file ElementDef.php.

HTMLPurifier_ElementDef::$child

HTMLPurifier_ChildDef of this tag.

Definition at line 46 of file ElementDef.php.

HTMLPurifier_ElementDef::$content_model

Abstract string representation of internal ChildDef rules. See HTMLPurifier_ContentSets for how this is parsed and then transformed into an HTMLPurifier_ChildDef.

Warning
This is a temporary variable that is not available after being processed by HTMLDefinition

Definition at line 55 of file ElementDef.php.

Referenced by create().

HTMLPurifier_ElementDef::$content_model_type

Value of $child->type, used to determine which ChildDef to use, used in combination with $content_model.

Warning
This must be lowercase
This is a temporary variable that is not available after being processed by HTMLDefinition

Definition at line 64 of file ElementDef.php.

Referenced by create().

HTMLPurifier_ElementDef::$descendants_are_inline = false

Does the element have a content model (#PCDATA | Inline)*? This is important for chameleon ins and del processing in HTMLPurifier_ChildDef_Chameleon. Dynamically set: modules don't have to worry about this one.

Definition at line 74 of file ElementDef.php.

HTMLPurifier_ElementDef::$excludes = array()

Lookup table of tags excluded from all descendants of this tag.

Note
SGML permits exclusions for all descendants, but this is not possible with DTDs or XML Schemas. W3C has elected to use complicated compositions of content_models to simulate exclusion for children, but we go the simpler, SGML-style route of flat-out exclusions, which correctly apply to all descendants and not just children. Note that the XHTML Modularization Abstract Modules are blithely unaware of such distinctions.

Definition at line 93 of file ElementDef.php.

HTMLPurifier_ElementDef::$formatting

Whether or not this is a formatting element affected by the "Active Formatting Elements" algorithm.

Definition at line 111 of file ElementDef.php.

HTMLPurifier_ElementDef::$required_attr = array()

List of the names of required attributes this element has. Dynamically populated by HTMLPurifier_HTMLDefinition::getElement

Definition at line 80 of file ElementDef.php.

HTMLPurifier_ElementDef::$standalone = true

Does the definition work by itself, or is it created solely for the purpose of merging into another definition?

Definition at line 18 of file ElementDef.php.

HTMLPurifier_ElementDef::$wrap

If a foreign element is found in this element, test if it is allowed by this sub-element; if it is, instead of closing the current element, place it inside this element.

Definition at line 105 of file ElementDef.php.


The documentation for this class was generated from the following file: