HTMLPurifier_ElementDef Class Reference

Structure that stores an HTML element definition. More...

List of all members.

Public Member Functions

 mergeIn ($def)
 Merges the values of another element definition into this one.
 mergeIn ($def)
 Merges the values of another element definition into this one.

Static Public Member Functions

static create ($content_model, $content_model_type, $attr)
 Low-level factory constructor for creating new standalone element defs.
static create ($content_model, $content_model_type, $attr)
 Low-level factory constructor for creating new standalone element defs.

Public Attributes

 $standalone = true
 Does the definition work by itself, or is it created solely for the purpose of merging into another definition?
 $attr = array()
 Associative array of attribute name to HTMLPurifier_AttrDef.
 $attr_transform_pre = array()
 Indexed list of tag's HTMLPurifier_AttrTransform to be done before validation.
 $attr_transform_post = array()
 Indexed list of tag's HTMLPurifier_AttrTransform to be done after validation.
 $child
 HTMLPurifier_ChildDef of this tag.
 $content_model
 Abstract string representation of internal ChildDef rules.
 $content_model_type
 Value of $child->type, used to determine which ChildDef to use, used in combination with $content_model.
 $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.
 $required_attr = array()
 List of the names of required attributes this element has.
 $excludes = array()
 Lookup table of tags excluded from all descendants of this tag.

Private Member Functions

 _mergeAssocArray (&$a1, $a2)
 Merges one array into another, removes values which equal false.
 _mergeAssocArray (&$a1, $a2)
 Merges one array into another, removes values which equal false.


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.

Definition at line 9 of file ElementDef.php.


Member Function Documentation

static HTMLPurifier_ElementDef::create ( content_model,
content_model_type,
attr 
) [static]

Low-level factory constructor for creating new standalone element defs.

Definition at line 96 of file ElementDef.php.

References $attr, $content_model, and $content_model_type.

Referenced by HTMLPurifier_HTMLModule::addElement().

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 109 of file ElementDef.php.

References _mergeAssocArray().

HTMLPurifier_ElementDef::_mergeAssocArray ( &$  a1,
a2 
) [private]

Merges one array into another, removes values which equal false.

Parameters:
$a1 Array by reference that is merged into
$a2 Array that merges into $a1

Definition at line 149 of file ElementDef.php.

Referenced by mergeIn().

static HTMLPurifier_ElementDef::create ( content_model,
content_model_type,
attr 
) [static]

Low-level factory constructor for creating new standalone element defs.

Definition at line 2617 of file HTMLPurifier.standalone.php.

References $attr, $content_model, and $content_model_type.

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 2630 of file HTMLPurifier.standalone.php.

References _mergeAssocArray().

HTMLPurifier_ElementDef::_mergeAssocArray ( &$  a1,
a2 
) [private]

Merges one array into another, removes values which equal false.

Parameters:
$a1 Array by reference that is merged into
$a2 Array that merges into $a1

Definition at line 2670 of file HTMLPurifier.standalone.php.


Member Data Documentation

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 16 of file ElementDef.php.

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 29 of file ElementDef.php.

Referenced by create().

HTMLPurifier_ElementDef::$attr_transform_pre = array()

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

Definition at line 34 of file ElementDef.php.

HTMLPurifier_ElementDef::$attr_transform_post = array()

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

Definition at line 39 of file ElementDef.php.

HTMLPurifier_ElementDef::$child

HTMLPurifier_ChildDef of this tag.

Definition at line 44 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 53 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 62 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 72 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 78 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 91 of file ElementDef.php.


The documentation for this class was generated from the following files:
Generated on Thu Jun 19 18:47:30 2008 for HTMLPurifier by  doxygen 1.5.3