Björn Höhrmann
and 1 contributors

NAME

CSS::SAC::ConditionFactory - the default ConditionFactory

SYNOPSIS

  my $cf = CSS::SAC::ConditionFactory->new;
  my $cond1 = $cf->create_foo_condition;
  my $cond2 = $cf->create_bar_condition;

DESCRIPTION

This is the default ConditionFactory for CSS::SAC. It creates conditions of all types defined in SAC. You may wish to subclass or replace the default ConditionFactory in order to get your own condition objects.

I plan on adding more flexibility to this factory so that one could tell it the classes to use for various conditions, that would avoid enforcing subclassing/recoding for people that only want to replace a family of factory methods.

I know that some of the method names are quite lengthy, but given the great number of possible conditions it helps to have descriptive names.

METHODS

These define the interface that must be adhered to by ConditionFactories. The Java names (given in parens) work too, though the Perl ones are recommended.

  • CSS::SAC::ConditionFactory->new or $cf->new

    Creates a new condition factory object.

  • $cf->create_and_condition($first,$second) (createAndCondition)

    creates a combinator condition of type and

  • $cf->create_attribute_condition($lname,$ns,$specified,$value) (createAttributeCondition)

    creates an attr condition

  • $cf->create_begin_hyphen_attribute_condition($lname,$ns,$specified,$value) (createBeginHyphenAttributeCondition)

    creates a attr condition of type bh

  • $cf->create_class_condition($ns,$value) (createClassCondition)

    creates a attr condition of type class

  • $cf->create_content_condition($data) (createContentCondition)

    creates a content condition

  • $cf->create_id_condition($value) (createIdCondition)

    creates a attr condition of type id

  • $cf->create_lang_condition($lang) (createLangCondition)

    creates a lang condition

  • $cf->create_negative_condition($cond) (createNegativeCondition)

    creates a negative condition

  • $cf->create_one_of_attribute_condition($lname,$ns,$specified,$value) (createOneOfAttributeCondition)

    creates a attr condition of type id

  • $cf->create_only_child_condition() (createOnlyChildCondition)

    creates a only-child condition

  • $cf->create_only_type_condition() (createOnlyTypeCondition)

    creates a only-type condition

  • $cf->create_or_condition($first,$second) (createOrCondition)

    creates a combinator condition of type or

  • $cf->create_positional_condition($position,$type_node,$same_type) (createPositionalCondition)

    creates a positional condition

  • $cf->create_pseudo_class_condition($ns,$value) (createPseudoClassCondition)

    creates a attr condition of type pseudo class

EXPERIMENTAL

There's some experimental stuff in here to provide for some new CSS constructs. It is and will remain undocumented until there is consensus on the handling of these new tokens. If you badly need to use one of the new CSS3 conditions that isn't documented, look at the source for features tagged EXPERIMENTAL.

AUTHOR

Robin Berjon <robin@knowscape.com>

This module is licensed under the same terms as Perl itself.