BaseX-12.1: HTML 5.0 serialization difference
Hi, I've noticed a serialization difference since updating to BaseX-12.1, and am wondering if this is intentional or not. When serializing as HTML 5.0, the character escaping in <script> tags seems to be influenced by the presence of preceding <script> tags that are either empty or only contain collapsible whitespace: * when a <script> element follows a non-empty (or non-collapsible) <script> element, special characters like &, <, and > are unescaped in the output o input: <head> <script><![CDATA[& < > ]]></script> <script src="test">//</script> <script>& < ></script> </head> ! serialize(., map {"method":"html", "version":"5.0"}) o output: <head> <meta charset="UTF-8"> <script>& < > </script> <script src="test">//</script> <script>& < ></script> </head> * when, however, a <script> element follows an empty (or collapsible) <script> element, special characters like &, <, and > are escaped in the output o input: <head> <script><![CDATA[& < > ]]></script> *<script src="test"></script>* <script>& < ></script> </head> ! serialize(., map {"method":"html", "version":"5.0"}) o output: <head> <meta charset="UTF-8"> <script>& < > </script> <script src="test">//</script> <script>*& < >*</script> </head> I'm wondering if this is intentional or a bug? Best, Ron
Hi Ron, Thanks for the detailed bug report. I am glad to report back that it has already been fixed in our latest 12.2 release [1,2]. Cheers, Christian [1] https://github.com/BaseXdb/basex/issues/2575 [2] https://basex.org/download/ ________________________________ Von: ron.vdbranden--- via BaseX-Talk <basex-talk@mailman.uni-konstanz.de> Gesendet: Mittwoch, 4. Februar 2026 18:05 An: BaseX <basex-talk@mailman.uni-konstanz.de> Betreff: [basex-talk] BaseX-12.1: HTML 5.0 serialization difference Hi, I've noticed a serialization difference since updating to BaseX-12.1, and am wondering if this is intentional or not. When serializing as HTML 5.0, the character escaping in <script> tags seems to be influenced by the presence of preceding <script> tags that are either empty or only contain collapsible whitespace: * when a <script> element follows a non-empty (or non-collapsible) <script> element, special characters like &, <, and > are unescaped in the output * input: <head> <script><![CDATA[& < > ]]></script> <script src="test">//</script> <script>& < ></script> </head> ! serialize(., map {"method":"html", "version":"5.0"}) * output: <head> <meta charset="UTF-8"> <script>& < > </script> <script src="test">//</script> <script>& < ></script> </head> * when, however, a <script> element follows an empty (or collapsible) <script> element, special characters like &, <, and > are escaped in the output * input: <head> <script><![CDATA[& < > ]]></script> <script src="test"></script> <script>& < ></script> </head> ! serialize(., map {"method":"html", "version":"5.0"}) * output: <head> <meta charset="UTF-8"> <script>& < > </script> <script src="test">//</script> <script>& < ></script> </head> I'm wondering if this is intentional or a bug? Best, Ron
Hi Christian, Wonderful, many thanks! Works perfectly in 12.2, of course. And apologies for the noise, I hadn't even realised I was already one version behind... Best, Ron On 04/02/2026 18:34, Christian Grün wrote:
Hi Ron,
Thanks for the detailed bug report. I am glad to report back that it has already been fixed in our latest 12.2 release [1,2].
Cheers, Christian
[1] https://github.com/BaseXdb/basex/issues/2575 [2] https://basex.org/download/
------------------------------------------------------------------------ *Von:* ron.vdbranden--- via BaseX-Talk <basex-talk@mailman.uni-konstanz.de> *Gesendet:* Mittwoch, 4. Februar 2026 18:05 *An:* BaseX <basex-talk@mailman.uni-konstanz.de> *Betreff:* [basex-talk] BaseX-12.1: HTML 5.0 serialization difference
Hi,
I've noticed a serialization difference since updating to BaseX-12.1, and am wondering if this is intentional or not.
When serializing as HTML 5.0, the character escaping in <script> tags seems to be influenced by the presence of preceding <script> tags that are either empty or only contain collapsible whitespace:
* when a <script> element follows a non-empty (or non-collapsible) <script> element, special characters like &, <, and > are unescaped in the output o input: <head> <script><![CDATA[& < > ]]></script> <script src="test">//</script> <script>& < ></script> </head> ! serialize(., map {"method":"html", "version":"5.0"}) o output: <head> <meta charset="UTF-8"> <script>& < > </script> <script src="test">//</script> <script>& < ></script> </head> * when, however, a <script> element follows an empty (or collapsible) <script> element, special characters like &, <, and > are escaped in the output o input: <head> <script><![CDATA[& < > ]]></script> *<script src="test"></script>* <script>& < ></script> </head> ! serialize(., map {"method":"html", "version":"5.0"}) o output: <head> <meta charset="UTF-8"> <script>& < > </script> <script src="test">//</script> <script>*& < >*</script> </head>
I'm wondering if this is intentional or a bug?
Best,
Ron
participants (2)
-
Christian Grün -
ron.vdbranden@gmail.com