xmllint --format inconsistently drops newlines
Running xmllint --format
with this input
<body>
<pre><span class="linenumber">43</span> {
<span class="linenumber">44</span> <mark>tax1 = RATE1 * RATE1_MARRIED_LIMIT;</mark>
<span class="linenumber">45</span> <mark>tax2 = RATE2 * (income - RATE1_MARRIED_LIMIT);</mark>
<span class="linenumber">46</span> }
<span class="linenumber">47</span> }
</pre>
<pre><span class="linenumber">48</span>
<span class="linenumber">49</span> <mark>double total_tax = tax1 + tax2;</mark>
<span class="linenumber">50</span>
<span class="linenumber">51</span> <mark>cout << "The tax is $" << total_tax << endl;</mark>
<span class="linenumber">52</span> <mark>return 0;</mark>
<span class="linenumber">53</span>}
</pre>
</body>
yields
<?xml version="1.0"?>
<body>
<pre><span class="linenumber">43</span> {
<span class="linenumber">44</span> <mark>tax1 = RATE1 * RATE1_MARRIED_LIMIT;</mark>
<span class="linenumber">45</span> <mark>tax2 = RATE2 * (income - RATE1_MARRIED_LIMIT);</mark>
<span class="linenumber">46</span> }
<span class="linenumber">47</span> }
</pre>
<pre><span class="linenumber">48</span><span class="linenumber">49</span><mark>double total_tax = tax1 + tax2;</mark><span class="linenumber">50</span><span class="linenumber">51</span><mark>cout << "The tax is $" << total_tax << endl;</mark><span class="linenumber">52</span><mark>return 0;</mark><span class="linenumber">53</span>}
</pre>
</body>
Note that the first pre
element is rendered with newlines (which is what I wanted) but the second one has the newlines stripped (which causes great distress).
This is with a fresh build from Git:
/tmp/libxml2/.libs/xmllint: using libxml version 20913-GITv2.9.13-81-g96849544
compiled with: Threads Tree Output Push Reader Patterns Writer SAXv1 HTTP DTDValid HTML C14N Catalog XPath XPointer XInclude Iconv ISO8859X Unicode Regexps Automata Schemas Schematron Modules Debug Zlib
as well as the version 20910 that comes with Ubuntu 20.04.ch03a.xml