xsl-list
[Top] [All Lists]

Re: [xsl] XQuery to Report Template Parameters

2008-02-17 08:23:18
I can't comment on the XQuery, Eliot ... but your post brought to mind how I use my embedded XSLT documentation methodology called XSLStyle (you can google that or find it in the freely available developer resources from our web site).

I've written in a number of stylesheet writing rules (the "business rules" of writing an XSLT stylesheet) ... including that *all* top-level constructs be separately documented, *all* names of top-level constructs be namespace-qualified (which I have come to believe is a good practice), *all* parameters of functions and templates be documented and have declared types, and many others.

One uses stylesheet association at the top of the top-most XSLT stylesheet in the import tree ... this allows one to drag the XSLT from Windows Explorer onto Internet Explorer and the entire import tree is documented in a single report. Alternatively you can use the stylesheet explicitly in a command line invocation.

The resulting HTML report exposes the documentation of every module and of every top-level construct. It includes an alphabetized index of all named top-level constructs.

Since you were looking for consistency in your task, the aspect of XSLStyle I thought of is the "Inconsistencies Detected" portion of the HTML report, where every violated stylesheet writing rule is reported.

I use XSLStyle to confirm my entire stylesheet library in all imported stylesheet fragments is totally consistent and totally documented before I check in the modules to my source code control system. The effort to keep up the documentation is sometimes a pain, but the end result really helps maintenance and because of enforcing all of the type declarations, I believe it helps the integrity of the stylesheet.

Perhaps there are some ideas in XSLStyle that would help you in determining fault detection with your XQuery.

Oh, one final comment ... XSLStyle is an embedded documentation infrastructure ... the actual documentation constructs themselves are either DITA elements or DocBook elements, your choice. So the end result is an XSLT stylesheet with XSLStyle top-level infrastructure using DITA or DocBook descendants ... producing a Javadoc-like HTML report of the entire stylesheet import/include tree.

I hope this helps.

. . . . . . . . . . . Ken

At 2008-02-17 09:05 -0600, Eliot Kimber wrote:
Here's my first stab at an XQuery to usefully report all the template parameters in a single XSLT module and their uses. This just generates a convenient XML result but it could be reworked to generate an HTML page, which might be more useful. I also wrote it to handle a single file because I didn't have time to figure out how/remember to set a directory as an input parameter via OxygenXML, which is where I developed it.

I certainly claim no special XQuery expertise, so I would also welcome any feedback on the coding of the query itself.

Cheers,

Eliot

----- start of query -----
(: Reports template parameters and their uses.

   This query originally developed by W. Eliot Kimber,
   ekimber at reallysi.com. Feel free to adapt, extend
   or distribute as you choose.
:)


--
World-wide corporate, govt. & user group XML, XSL and UBL training
RSS feeds:     publicly-available developer resources and training
G. Ken Holman                 mailto:gkholman(_at_)CraneSoftwrights(_dot_)com
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0    +1(613)489-0999 (F:-0995)
Male Cancer Awareness Nov'07  http://www.CraneSoftwrights.com/s/bc
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>