ticket id
000048
status
resolved
priority
???
assigned to
Waylan
Reported by: theknio@gmail.com
Component:

The following input causes markdown to replace the last > tag with &gt; Markdown.pl does exhibit this behaviour. (This could be because of < > tags inside an HTML attribute. These are not an error)

<img title="<?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot; ?><m:math xmlns:m=&quot;http://www.w3.org/1998/Math/MathML&quot; xmlns:MicrosoftMathRecognizer=&quot;http://schemas.microsoft.com/mathrecognizer&quot; ><m:mfenced open=&quot;|&quot; close=&quot;|&quot;><m:mrow><m:mi>f</m:mi></m:mrow></m:mfenced><m:mo>=</m:mo><m:mrow><m:munder><m:mo>&#8721;</m:mo><m:mrow><m:mi>v</m:mi><m:mo>&#8712;</m:mo><m:mi>V</m:mi></m:mrow></m:munder><m:mrow><m:mi>f</m:mi><m:mfenced open=&quot;(&quot; close=&quot;)&quot;><m:mrow><m:mi>s</m:mi><m:mo>,</m:mo><m:mrow><m:mi>v</m:mi></m:mrow></m:mrow></m:mfenced></m:mrow></m:mrow></m:math>" src="data:image/png;base64,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" />

Comments

By Waylan on December 29, 2009:

Just wanted to note that the most basic failing test case is this:

<img title="<span>foo</span>" src="" >

While that does not validate at xhtml it does as html4. Seeing we have a built-in option to output html4, it should work. Besides as the reporter noted, other implementations don't stumble over this so neither should we.

Here's the relevant debugging info:

>>> import markdown
>>> t = '<img title="<span>foo</span>"> src="">'
>>> md = markdown.Markdown()
>>> md.convert(t)
u'<p><img title="<span>foo</span>"&gt; src=""&gt;</p>'
>>> md.htmlStash.rawHtmlBlocks
[(u'<img title="<span>', False), (u'</span>', False)]

The entire string should be one rawHtmlBlock. It would appear the raw html block parser is ignoring the quotes.

Resolution

fixed

Powered by Sputnik | XHTML 1.1