Error Message
My Case
In my case, that was from a link (stylesheet) href value provided by Google Fonts. By default, they put the display=swap parameter in the URL — specifically, in the query string.
On a regular HTML page, that should be fine. But on Blogger, it is unacceptable. Blogger employs super regular HTML.
Ah, let's use this font. Splendid.
Please save the template, Blogger. (Hits save button.)
🤖 Oi.
Yes?
🤖 The reference to entity "display" must end with the ';' delimiter.
What does that mean?
🤖 The reference to entity "display" must end with the ';' delimiter.
(Removes the value after "display". Places ';' after "display". Hits save button.)
🤖 Oi.
Yes?
🤖 The reference to entity "display" must end with the ';' delimiter.
⬆️ The XML parser saw the & symbol and it threw a robotic tantrum because
I did not escape it.
Indeed, that ';' delimiter it mentioned? It referred to the escaped ampersand (& symbol):
&⬆️ That semicolon.
And it read the following characters as an entity name, (d, i, s, p, l, a, y) ➡️ display, to reference the error.
&display=swap ⬅️ 🤖 The reference to entity "display" requires two quid. Mortal.
You see how cryptic that was. 🤔 I don't mind the robotic mannerism though. At least consistent, consistently vague. Actually, that is needed. Imagine if it weren't. Say, creative? With the LLM and such. That should be harder to debug. Look at me, I'm a creative XML with my ever-changing, conversational error message. Such as,
(Error.)
🤖🍺 Could you perhaps rephrase?
Rephrase what?
🤖🍺 Your code, please.
Which part?
🤖🍺 Let's talk another subject.
Oi!
My Solution
In short, it's an XML escaping issue. The word "display" just happened to be whatever came after the & (ampersand).
So the solution for this particular case is either:
-
Simply omit the
&display=swap⬇️But that's... quite... silly. 🤔
-
Or, escape the
&with&⬇️⬆️ Now, that is better! 🥳
- Or, we use
CDATAsection. That's madness. This point is not a solution, it's merely an amusement.




Comments
Post a Comment