Short description
- the macro "include" use a div tag around included page
- the macro create an HTML id based on wiki name
- the macro use wikiutil.quoteWikinameFS() function to get a name, without non-ascii character
- the function quoteWikinameFS add parenthesis ( ) around non-ascii character
- parenthesis (, ) are wrong for HTML id attribute character (non-standard in HTML or XML)
Solution Replace ( or ) by underscore _
--- Include.py.old 2006-05-14 10:31:58.000000000 -0400 +++ Include.py 2006-05-14 10:32:24.000000000 -0400 @@ -215,7 +215,7 @@ strfile = StringIO.StringIO() request.redirect(strfile) try: - cid = request.makeUniqueID("Include_%s" % wikiutil.quoteWikinameFS(inc_page.page_name)) + cid = request.makeUniqueID("Include_%s" % wikiutil.quoteWikinameID(inc_page.page_name)) inc_page.send_page(request, content_only=1, content_id=cid) result.append(strfile.getvalue()) finally:
and
--- wikiutil.py.old 2006-05-14 10:42:06.000000000 -0400 +++ wikiutil.py 2006-05-14 10:33:31.000000000 -0400 @@ -207,6 +207,14 @@ quoted.append(filename[location:]) return ''.join(quoted) +# 2006-05-14 10:39 : YM | ID can't have ( or ) +def quoteWikinameID(wikiname, charset=config.charset): + wikiname = quoteWikinameFS(wikiname, charset) + wikiname = wikiname.replace('(', '_') + wikiname = wikiname.replace(')', '_') + return wikiname + + # FIXME: better name would be unquoteFilename def unquoteWikiname(filename, charsets=[config.charset]): """ Return Unicode WikiName from quoted file name.
Discussion
Did you mean to file this as a bug rather than a feature request? Anyway, according to WC3 HTML standard:
ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").
so any quoting that occurs should do so according to those rules. For example, an ID can not legally start with a digit either. Other restrictions are also likely too, especially as HTML standards are revised, such as trimming of spaces. See http://www.w3.org/TR/xml-id/ for some more information on how XML is heading. Another potential problem as well is that with a single HTML page id values can not occur more than once. It is though sometimes useful to include the same page twice....each inclusion should get a new id. -- -- DeronMeranda 2006-05-17 22:14:41