NAME
Pandoc::Selector - Pandoc document selector language
SYNOPSIS
my
$selector
= Pandoc::Selector->new(
'Code.perl|CodeBlock.perl'
);
# check whether an element matches
$selector
->match(
$element
);
# use as element method
$element
->match(
'Code.perl|CodeBlock.perl'
)
DESCRIPTION
Pandoc::Selector provides a language to select elements of a Pandoc document. It borrows ideas from CSS Selectors, XPath and similar languages.
The language is being developed together with this implementation.
EXAMPLES
Header
#main
Code.perl
Code.perl.raw
:inline
SELECTOR GRAMMAR
Whitespace between parts of the syntax is optional and not included in the following grammar. A Selector is a list of one or more expression lists separated by pipes (|
). For instance the selector Subscript|Superscript
selects both Subscript elements and Superscript elements.
Selector ::= ExpressionList (
'|'
ExpressionList )*
An expression list is a list of one or more expressions:
ExpressionList ::= Expression ( Expression )*
An expression is any of name expression, id expression, class expression, and type expression.
Expression ::= NameExpression
| IdExpression
| ClassExpression
| TypeExpression
NameExpression ::= Name
Name ::= [A-Za-z]+
IdExpression ::=
'#'
[\p{L}\p{N}_-]+
ClassExpression ::=
'.'
[\p{L}\p{N}_-]+
TypeExpression ::=
':'
Name
SEE ALSO
See example filter select
to select parts of a document.