HXREMOVE(1)

NAME
hxremove - remove elements from an XML file by means of a CSS selector

SYNOPSIS
hxremove [ -i ] [ -l language ] selectors

DESCRIPTION
hxremove reads a well-formed XML document from standard input and writes it to standard output without any elements that match one of the CSS selectors that are given as argument. For example

hxremove ol li:first-child

removes the first li (list item in XHTML) from every ol (ordered list).

If there are multiple selectors, they must be separated by commas. For example,

hxremove p + ul, blockquote ol

removes all ul elements that follow a p element and also all ol elements that are descendants of a blockquote element.

hxremove assumes that class selectors (".foo") refer to an attribute called "class". And assumes that ID selectors ("#foo") refer to an attribute called "id".

To handle HTML files, make them well-formed XML first, e.g., with hxnormalize -x.

Compare with hxselect, which removes everything but the selected elements.

OPTIONS
The following options are supported:

-i  Match case-insensitively. Useful for HTML and some other SGML-based languages.

-l language
    Sets the default language, in case the root element doesn't have an xml:lang attribute (default: none). Example: -l en

OPERANDS
The following operand is supported:

selectors
    One or more comma-separated selectors. Most selectors from CSS level 3 are supported.

SEE ALSO
asc2xml(1), xml2asc(1), hxnormalize(1), hxselect(1), UTF-8 (RFC 2279)