Search Support

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

Learn More

How to get Firefox to follow an anchor fragment in XSLT stylesheet generated HTML

  • 2 cavab
  • 2 have this problem
  • 6 views
  • Last reply by cor-el

more options

I have an XML file that is being transformed to HTML at load time by the browser via an XSLT stylesheet - something like this:

<?xml  version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="transform.xsl" title="example" type="text/xsl"/>
<foo>
  <bar baz="1">Hello</bar>
  <bar baz="2">my name is</bar>
  <bar baz="3">Inigo Montoya</bar>
</foo>

The XML gets converted into HTML via the stylesheet, something like this:
<html>
  <head/>
  <body>
    <div class="bar" id="1">Hello</div>
    <div class="bar" id="2">my name is</div>
    <div class="bar" id="3">Inigo Montoya</div>
  </body>
</html>

The transform runs just fine, the HTML generates and is displayed, BUT: If I give the browser a url like:

 file:///tmp/foo.xml#2

while the browser renders the file fine, it does NOT move the viewport to the selected div (assuming the generated HTML is larger than a screenfull, naturally). I've also tried adding <a name="2"/> and <a id="2"/> elements to the generated HTML as well, with no observed change.

I have an XML file that is being transformed to HTML at load time by the browser via an XSLT stylesheet - something like this: <pre><nowiki><?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet href="transform.xsl" title="example" type="text/xsl"/> <foo> <bar baz="1">Hello</bar> <bar baz="2">my name is</bar> <bar baz="3">Inigo Montoya</bar> </foo> The XML gets converted into HTML via the stylesheet, something like this: <html> <head/> <body> <div class="bar" id="1">Hello</div> <div class="bar" id="2">my name is</div> <div class="bar" id="3">Inigo Montoya</div> </body> </html></nowiki></pre> The transform runs just fine, the HTML generates and is displayed, BUT: If I give the browser a url like: file:///tmp/foo.xml#2 while the browser renders the file fine, it does NOT move the viewport to the selected div (assuming the generated HTML is larger than a screenfull, naturally). I've also tried adding <a name="2"/> and <a id="2"/> elements to the generated HTML as well, with no observed change.

Modified by cor-el

All Replies (2)

more options

I didn't realise the system would eat my tags:

 Example (with <> replaced with () to keep from being processed:)
 (?xml)
 (?xml-stylesheet href="transform.xsl" title="example" type="text/xsl" ?)
 (foo) 
   (bar baz="1")Hello(/bar)
   (bar baz="2")my name is(/bar)
   (bar baz="3")Inigo Montoya(/bar)
 (/foo)

Output (with <> replaced with () to keep from being processed)

 (html)
 (head/)
 (body)
 (div class="bar" id="1")Hello(/div)
 (div class="bar" id="2")my name is(/div>
 (div class="bar" id="3")Inigo Montoya(/div>
 (/body)
 (/html)
more options

A good place to ask advice about web development is at the MozillaZine "Web Development/Standards Evangelism" forum.

The helpers at that forum are more knowledgeable about web development issues.
You need to register at the MozillaZine forum site in order to post at that forum.