[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: [xml] xml:space and xml:lang problem
- From: Daniel Veillard <veillard redhat com>
- To: Rob Richards <rrichards ctindustries net>
- Cc: xml gnome org
- Subject: Re: [xml] xml:space and xml:lang problem
- Date: Wed, 8 Jun 2005 16:59:58 -0400
On Wed, Jun 08, 2005 at 04:45:10PM -0400, Rob Richards wrote:
> The xmllint example was just a way to exemplify the issue using xmllint.
> I was loading xml using dom methods and told it to stip out whitespaces.
> This works fine, except the xml:space attribute when set to preserve
> should prevent the removal of whitespaces in its context.
>
> When the xml is output it looks like:
> <?xml version="1.0"?>
> <doc><e1><e2 xml:space="preserve"><e3 id="E3"/></e2></e1></doc>
>
> while it should look like:
> <?xml version="1.0"?>
> <doc><e1><e2 xml:space="preserve">
> <e3 id="E3"/>
> </e2></e1></doc>
>
> which it does using 2.5.x as well as 2.6 with the patch.
okay that was my guess, sounds fine.
> Hadn't played with the xml:lang, but saw it has the same problem as
> xml:space. The code in xmlParseAttribute was carried over to
> xmlParseAttribute2, but within xmlParseAttribute2, the attribute is
> broken out into prefix and name, so the tests xmlStrEqual(name, BAD_CAST
> "xml:space") and (xmlStrEqual(name, BAD_CAST "xml:lang")) will never be
> true like they are in xmlParseAttribute.
hum, right ...
> As far as moving code around, I made a test just for
> xmlStrEqual(*prefix, BAD_CAST "xml") and if that is true will fall into
> the block to check for name equal to space or lang. figured it would be
> faster rather than testing everything twice when the prefix may not even
> be correct in the first place.
string interning should even allow to reduce that to a pointer comparison
with ctxt->str_xml
> The logic is the same as that used in xmlParseAttribute, which does only
> check lang if pedantic is used. The change was just to get the checks to
> actually kick in as they would never be true in xmlParseAttribute2.
thanks for the explanations.
Daniel
--
Daniel Veillard | Red Hat Desktop team http://redhat.com/
veillard redhat com | libxml GNOME XML XSLT toolkit http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]