Re: replacing with quot;

2008-01-05 Thread Michel Fortin

Le 2008-01-04 à 23:43, Waylan Limberg a écrit :


1. First of all, using the straight quote is not invalid html or
xhtml, so why do we care? In fact, I can't seem to find one reference
that explains why the html entity should be used in this case.


You need to escape it inside the attributes (such as the title  
attribute or URLs), but outside attributes that's unnecessary.  
Perhaps the same escaping function is used for attributes and other  
text that need escaping.


a href=... title=My quot;friendquot;.../a



2. If I'm not mistaken, having markdown output the html entity makes
it imposable for smartypants to then convert straight quotes into
curly quotes - which may be undesirable to some users.


That's right.

In fact, PHP Markdown use that trick to disable SmartyPants on  
escaped characters so you don't have to double-escape characters such  
as the dot or the backtick. For instance:


I don't want an elipsis character\...
and here I want a double backtick: \``

Pass that though the Markdown  SmartyPants filter on John Gruber's  
Markdown Dingus and you'll see that you actually need to write:


I don't want an elipsis character\\\...
and here I want a double backtick: \\\``

to get the expected behaviour.


So, my question is: Which implementation do you consider correct  
and why?


I'd say both are correct since, within HTML or XML character data, a  
character entity is semantically equivalent to the litteral character  
it represents. But for the sake of compatibility with other  
processing tools, I'd avoid using an entity for strait quotes (or any  
other character for that matter) when it's not necessary.



Michel Fortin
[EMAIL PROTECTED]
http://michelf.com/


___
Markdown-Discuss mailing list
Markdown-Discuss@six.pairlist.net
http://six.pairlist.net/mailman/listinfo/markdown-discuss


Re: replacing with quot;

2008-01-05 Thread Yuri Takhteyev
I agree with Michel, that it's better to not escape things where it's
not necessary.

If you want to fix it, the place to do is the method
Document.normalizeEntities(), which is now called in two places:

1. in Element.toxml() separately for each attribute
2. in TextNode.toxml() for the whole thing

The quickest fix would be to add an extra keyword parameter to this
function: something like skip_quotes and call with this parameter in
the second case.  Note that , , and  need to be replaced in
both cases.

  - yuri

On Jan 5, 2008 4:51 AM, Michel Fortin [EMAIL PROTECTED] wrote:

  So, my question is: Which implementation do you consider correct
  and why?

 I'd say both are correct since, within HTML or XML character data, a
 character entity is semantically equivalent to the litteral character
 it represents. But for the sake of compatibility with other
 processing tools, I'd avoid using an entity for strait quotes (or any
 other character for that matter) when it's not necessary.

--
http://sputnik.freewisdom.org/
___
Markdown-Discuss mailing list
Markdown-Discuss@six.pairlist.net
http://six.pairlist.net/mailman/listinfo/markdown-discuss


Re: replacing with quot;

2008-01-05 Thread Waylan Limberg
Thanks for the feedback guys. I just wanted to make sure I wasn't
missing anything before commiting the change. Oh, and Michel, thanks
for the reminder about attributes. Python-markdown's dom should make
that easy to do.

On Jan 5, 2008 10:29 AM, Yuri Takhteyev [EMAIL PROTECTED] wrote:
 I agree with Michel, that it's better to not escape things where it's
 not necessary.

 If you want to fix it, the place to do is the method
 Document.normalizeEntities(), which is now called in two places:

 1. in Element.toxml() separately for each attribute
 2. in TextNode.toxml() for the whole thing

 The quickest fix would be to add an extra keyword parameter to this
 function: something like skip_quotes and call with this parameter in
 the second case.  Note that , , and  need to be replaced in
 both cases.

   - yuri

 On Jan 5, 2008 4:51 AM, Michel Fortin [EMAIL PROTECTED] wrote:

   So, my question is: Which implementation do you consider correct
   and why?
 
  I'd say both are correct since, within HTML or XML character data, a
  character entity is semantically equivalent to the litteral character
  it represents. But for the sake of compatibility with other
  processing tools, I'd avoid using an entity for strait quotes (or any
  other character for that matter) when it's not necessary.

 --
 http://sputnik.freewisdom.org/

 ___
 Markdown-Discuss mailing list
 Markdown-Discuss@six.pairlist.net
 http://six.pairlist.net/mailman/listinfo/markdown-discuss




-- 

Waylan Limberg
[EMAIL PROTECTED]
___
Markdown-Discuss mailing list
Markdown-Discuss@six.pairlist.net
http://six.pairlist.net/mailman/listinfo/markdown-discuss