Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
STAG-FILTER(1)	      User Contributed Perl Documentation	STAG-FILTER(1)

NAME
       stag-filter - filters a stag file (xml, itext, sxpr) for	nodes of
       interest

SYNOPSIS
	 stag-filter person -q name=fred file1.xml

	 stag-filter person 'sub {shift->get_name =~ /^A*/}' file1.xml

	 stag-filter -p	My::Foo	-w sxpr	record 'sub{..}' file2

USAGE
	 stag-filter [-p|parser	PARSER]	[-w|writer WRITER] NODE	-q tag=val FILE

	 stag-filter [-p|parser	PARSER]	[-w|writer WRITER] NODE	SUB FILE

	 stag-filter [-p|parser	PARSER]	[-w|writer WRITER]  NODE -f PERLFILE FILE

DESCRIPTION
       parsers an input	file using the specified parser	(which may be a	built
       in stag parser, such as xml) and	filters	the resulting stag tree
       according to a user-supplied subroutine,	writing	out only the
       nodes/elements that pass	the test.

       the parser is event based, so it	should be able to handle large files
       (although if the	node you parse is large, it will take up more memory)

ARGUMENTS
       -p|parser FORMAT
	   FORMAT is one of xml, sxpr or itext,	or the name of a perl module

	   xml assumed as default

       -w|writer FORMAT
	   FORMAT is one of xml, sxpr or itext,	or the name of a perl module

       -c|count
	   prints the number of	nodes that pass	the test

       -filterfile|f
	   a file containing a perl subroutine (in place of the	SUB argument)

       -q|query	TAG1=VAL1 -q|query TAG2=VAL2 ...  -q|query TAGN=VALN
	   filters based on the	field TAG

	   other operators can be used too - eg	<, <=, etc

	   multiple q arguments	can be passed in

	   for more complex operations,	pass in	your own subroutine, see below

       SUB a perl subroutine. this subroutine is evaluated evry	time NODE is
	   encountered - the stag object for NODE is passed into the
	   subroutine.

	   if the subroutine passes, the node will be passed to	the writer for
	   display

       NODE
	   the name of the node/element	we are filtering on

       FILE
	   the file to be parser. If no	parser option is supplied, this	is
	   assumed to a	be a stag compatible syntax (xml, sxpr or itext);
	   otherwise you should	parse in a parser name or a parser module that
	   throws stag events

SEE ALSO
       Data::Stag

perl v5.32.0			  2009-12-14			STAG-FILTER(1)

NAME | SYNOPSIS | USAGE | DESCRIPTION | ARGUMENTS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=stag-filter.pl&sektion=1&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help