Thank you Maxime, On Sun, Aug 21, 2022 at 3:16 AM Maxime Devos <maximede...@telenet.be> wrote:
> On 21-08-2022 02:05, Aleix Conchillo Flaqué wrote: > > According to the spec, embedding inline content in the <script> tag should > conform to the language defined by the "type" attribute (defaults to > javascript). So, I would expect you could put any string that conforms to > JS. > > """ > When used to include dynamic scripts, the scripts may either be embedded > inline or may be imported from an external file using the src attribute. If > the language is not that described by "text/javascript", then the type > attribute must be present, as described below. Whatever language is used, > the contents of the script element must conform with the requirements of > that language's specification > > I am proposing to use XHTML (which is XML), not HTML. HTML's special > parsing quirks are irrelevant here. > > It does, browsers (at least Chrome) don't interpret that correctly, since > it's not valid JavaScript. > > As <script> ... </script> is XML, the XML parser (not the HTML parser, > this is XHTML!) will decode the < inside the <script>...</script>, the > result _after decoding_ is valid JavaScript. In XML, <script> is not > special -- everything is parsed the same way in XML. > > Got it! I didn't know that was treated differently. I just tried it and it works perfectly and it's exactly what I wanted: https://github.com/aconchillo/guilescript/commit/c959ceff15e8e9fdf81cc59a754ed66e6bb53cc0 I avoided the <?xml?> declaration. I know that's mandatory in XML documents, but it seemed to work without it. Thanks again! Aleix