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.