[4suite] [amara] Where's my attribute?
Artur de Sousa Rocha
artur_spruce at yahoo.com
Wed Jul 12 12:49:55 MDT 2006
Hi,
I'm moving this discussion from comp.lang.python, so here's the context:
"""
AdSR wrote:
> uche.ogb... at gmail.com wrote:
> > What is the actual problem you're trying to solve? If you just want to
> > force a namespace declaration in output (this is sually to support
> > QNames in content) the most well-known XML hack is to create a dummy
> > attribute with the needed prefix and namespace. But this does not work
> > when you're trying to force a default namespace declaration. Then
> > again, you generally can't use QNames in content with a default
> > namespace declaration. So my guess is that you somehow got way off the
> > rails in your problem-solving, and you'll need to provide mre
> > background if you want help.
> I wanted to remove documentation elements from some XML Schema files.
> The problem showed when I tried to use the stripped schemas, because
> the namespace declaration for user-defined types was missing. Of
> course, since these types are named and referred to in attribute
> *values*, Amara had no way to know that the namespace declaration was
> still needed (didn't matter if default or non-default). This is more a
> problem of how XML Schema is defined against XML namespace rules, since
> XML Schena uses namespaces in a context of which XML parsers aren't
> normally aware.
Yeah. Just so you know. This is one of those things about XML that
make sane people want to dye their eyeballs red.
Unfortunately there isn't much recourse but to switch to namespace
qualified form for your QNames and adding dummy attributes so the
namespace is recognized. Let me know if you need an example.
> > BTW, I recommend upgrading to Amara 1.1.7. That branch will soon be
> > 1.2, and I consider it more mature than 1.0 at this point. The API's
> > also easier:
> I know, especially the insert-before/after feature :) But I ran into a
> problem that I describe below and you advertised 1.0 as "stable
> version", so I switched immediately.
> The problem can be reproduced like this:
> >>> import amara
> >>> amara.parse('http://www.w3.org/2001/XMLSchema.xsd')
> START DTD xs:schema -//W3C//DTD XMLSCHEMA 200102//EN XMLSchema.dtd
> http://www.w3.org/2001/datatypes.dtd:99:23: Attribute 'id' already
> declared
> http://www.w3.org/2001/datatypes.dtd:122:23: Attribute 'id' already
> declared
> http://www.w3.org/2001/datatypes.dtd:130:27: Attribute 'id' already
> declared
> ...some 40 more lines like this and then Python crashes (Windows shows
> the bug-reporting dialog)
I don't get a crash on my system (Ubuntu), but I do get a legitimate
error message because that DTD is broken. The W3C seems to like
disseminating broken DTDs. Just yesterday I was helping someone around
the infamous broken XHTML 1.1 DTDs.
I do want to know why you're gettign a crash rather than just the error
message. What version of Python is that? Any chance you can try with
current CVS Amara (you can use easy_install)? This part of the
discussion should perhaps move to the 4Suite mailing list. I only
check this NG once a week.
--
Uche Ogbuji Fourthought, Inc.
http://uche.ogbuji.net http://fourthought.com
http://copia.ogbuji.net http://4Suite.org
Articles: http://uche.ogbuji.net/tech/publications/
"""
I tried the CVS version as well and got the same crash situation. This
happens both from command line and IDLE (in the latter case, I get the
"core dump window" and shell restart - the main IDLE process doesn't exit
or crash).
Here's my setup:
Python 2.4.3 (#69, Mar 29 2006, 17:35:34) [MSC v.1310 32 bit (Intel)] on
win32
IDLE 1.1.3
4Suite 1.0b3
Amara CVS 12 June 2006 or Amara 1.1.7
Pythonwin build 208
HTH,
AdSR
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
More information about the 4suite
mailing list