Closed Bug 184744 Opened 22 years ago Closed 13 years ago

scottandrew.com - links not created in css/javascript transformed XML

Categories

(Tech Evangelism Graveyard :: English US, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INCOMPLETE
Future

People

(Reporter: pbaker, Unassigned)

References

()

Details

(Keywords: regression, Whiteboard: [author] [technote-needed])

User-Agent:       Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US; rv:1.3a) Gecko/20021210
Build Identifier: Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US; rv:1.3a) Gecko/20021210

There is an excellant article on Apple's Developer site that talks about using
DOM and CSS to tranform XML. It gives an example that transforms a sample RSS
feed. When viewing the sample at http://www.scottandrew.com/pub/xml/index.xml in
Mozilla 1.0 clickable links are created on the "titles". The links do not show
up when viewing with the latest Mac OS X trunk build. This seems to me to be a
regression.

Reproducible: Always

Steps to Reproduce:
1. Visit http://www.scottandrew.com/pub/xml/index.xml

Actual Results:  
You receive nicely formated XML, but the "titles" of the excerpts are not linked.

Expected Results:  
The "titles" should be linked. They are linked in Mozilla 1.0.
Keywords: regression
Oh yeah, the link to the article where this page comes from is at
http://developer.apple.com/internet/css/xmltransformations.html

My bad for not having it in the original description, thought I did.
Confirmed in the latest Windows nightly. DOM Inspector shows that <a> elements
in the XHTML namespace are being created correctly, but they aren't clickable.
Namespace looks right (http://www.w3.org/1999/xhtml).
Status: UNCONFIRMED → NEW
Ever confirmed: true
From the script:

    newLinkElm.setAttributeNS(xhtml,"href",linkURL);

That is incorrect.  The "href" attribute on xhtml <a> elements should be in the
null namespace (that code sets the "xhtml:href" attribute, which has nothing to
do with linking behavior).

The only reason this works in 1.0 is that 1.0 has a bug in the handling of
attribute namespaces.
Assignee: heikki → bclary
Component: XML → Authors
OS: MacOS X → All
Product: Browser → Tech Evangelism
QA Contact: rakeshmishra → mgalli
Hardware: Macintosh → All
Version: Trunk → unspecified
So is it intended for this to not work then? Did some more testing...

Mac OS X:
  Mozilla 1.0.1     - has links
  Chimera 0.6       - has links
  Mozilla 1.2.1     - no links
  Mozilla T20021210 - no links

Debian GNU/Linux 3.0:
  Mozilla 1.0       - has links

Windows 2000 Pro
  Mozilla 1.2.1     - no links
  MSIE 5.5          - no links (yes it worked on IE, but not as pretty)
That's correct.  The patch to fix namespaces of attributes never landed on the
1.0 branch.  Chimera is off the 1.0 branch. In trunk builds this is not working
and should not be working.
Status: NEW → ASSIGNED
Summary: links not created in css/javascript transformed XML → scottandrew.com - links not created in css/javascript transformed XML
Target Milestone: --- → Dec
Thanks for looking into this, everyone.

I'm not sure I fully understand the nature of the problem, but what I'm hearing
is that when an imported element is created with a namespace, its attributes
don't need to carry the same namespace prefix (unless they themselves are from
yet another namespace).  Is that a correct interpretation?
> Is that a correct interpretation?

Not quite....  Consider the following two XML documents:

<root xmlns:html="http://www.w3.org/1999/xhtml">
  <html:a html:href="http://something">Something</a>
</root>

<root xmlns:html="http://www.w3.org/1999/xhtml">
  <html:a href="http://something">Something</a>
</root>

These documents are _not_ equivalent.  XHTML defines that the "href" attribute
in the null namespace is used for hyperlinking on elements whose namespace is
http://www.w3.org/1999/xhtml and whose localName is "a".  It says nothing about
the "href" attribute in the namespace "http://www.w3.org/1999/xhtml" and that
attribute therefore does not cause an element to become a hyperlink in mozilla
(just like an attribute named "foo" in the null namespace will not cause
anything to become a link in XHTML).

Does that help?  Basically, attributes do not "inherit" the namespace from the
parent; they just have a namespace of their own.  And XHTML does not define any
behavior for any attributes placed in the XHTML namespace; it defines behavior
for attributes in the null namespace that are attached to elements in the XHTML
namespace....

I know that sounds confusing... hopefully the example helps, at least.  :(
this bit us on devedge too.
Assignee: bc → english-us
Status: ASSIGNED → NEW
Component: Authors → English US
QA Contact: mgalli → english-us
Whiteboard: [author] [technote-needed]
scott isn't really doing this stuff anymore. futuring.
Target Milestone: Dec → Future
INCOMPLETE due to lack of activity since the end of 2009.

If someone is willing to investigate the issues raised in this bug to determine whether they still exist, *and* work with the site in question to fix any existing issues, please feel free to re-open and assign to yourself.

Sorry for the bugspam; filter on "NO MORE PRE-2010 TE BUGS" to remove.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → INCOMPLETE
Product: Tech Evangelism → Tech Evangelism Graveyard
You need to log in before you can comment on or make changes to this bug.