- From: Roland Gülle <roland@7val.com>
- Date: Fri, 13 Jul 2007 07:59:52 +0200
- To: Sean Owen <srowen@google.com>
- Cc: "Laura Holmes" <holmes@google.com>, public-mobileok-checker <public-mobileok-checker@w3.org>
> Good point. I suppose I had imagined that the XSLT would operate on a
> DOM that we manually build up in Java, and includes the real, original
> DOM that was parsed from the source document including line number
> info -- not a copy. Then the line-number-related methods should still
> work.
>
> But indeed, none of this works if you parse a moki document from
> scratch in an XSLT since the original line number info is lost. Which
> partially shoots its raison d'etre in the foot.
>
> Better ideas? Unless what I sketched out above works, we're getting
> more fenced in by using XSLT + moki by the day and think we need to
> think hard about what this approach is gaining versus costing before
> we go further.
I just tested some ideas, here my result:
Some ideas with rebuilding a Nodeset from a string with EXSLT don't
work:
<xsl:for-each select="exsl:node-set($originalDocAsString)//xpath">
<xsl:value-of select="saxon:line-number(.)" xmlns:saxon="http://
saxon.sf.net/"/>
</xsl:for-each>
But using the document function to reparse a document, works:
<xsl:for-each select="document('originalDocAsFileName)//xpath">
<xsl:value-of select="saxon:line-number(.)" xmlns:saxon="http://
saxon.sf.net/"/>
</xsl:for-each>
It is possible, to access to the original (unparsed) doc with the
document function?
If so, and the reference to this doc is in the moki document, there
is a solution:
when reporting a line number:
* call a template with the context you want to report
* this template:
* gets the original document reference
* generates the 'html doc xpath' from the current xpath
* gets the line number with the original doc ref and the generated
xpath
* returns the line number
Cheers,
Roland
Received on Friday, 13 July 2007 13:44:24 UTC