CSS::SAC::ConditionFactory - the default ConditionFactory
my $cf = CSS::SAC::ConditionFactory->new;
my $cond1 = $cf->create_foo_condition;
my $cond2 = $cf->create_bar_condition;
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.
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
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.
Robin Berjon <robin@knowscape.com>
This module is licensed under the same terms as Perl itself.