Re: [xsl] Q: to Jeni Tennison regarding your APress titles...

Subject: Re: [xsl] Q: to Jeni Tennison regarding your APress titles...
From: "M. David Peterson" <m.david@xxxxxxxxxx>
Date: Wed, 24 Nov 2004 10:15:03 -0800
Jeni Tennison wrote:

Hi David,



Hey Jeni :)


Right: "Beginning XSLT 2.0" won't be out for a while -- I want the
book to be as accurate as possible, and the specs are still changing
(albeit not by much and ever...so...slowly...). My original plan was
to wait until the end of the Last Call period before finishing off the
book, though Apress is keen for me to get it done sooner.


I am looking forward to it!

Meanwhile, "Beginning XSLT" (1.0) has just been reprinted for a second
time, I guess due to customer demand.


Nice! They're demanding a good title for sure!



What would your advice be on using your Beginning XSLT title as an
instrument to sharpen and fine tune my skill sets as such that, in the
end, I will be a better XSLT programmer because of the effort put forth?



If you don't want to read the book from start to finish,


Would be a good approach but for now I have about an hour a day for studies related to all languages and technologies I use... possibly first part of next year would be a good time to simply sit down and run through from beginning to end over maybe a 2-3 day session so I can get a better feel for the order and flow you chose for this title.... But for now...

one approach
would be to look at each chapter's Review Questions and try to answer
them.


Ah! Very good idea...

I don't give "correct" answers, but the purpose of the questions
is to make sure you understand the material in the chapter fairly
thoroughly, so if you find a question is making you think, you could
take it as a hint to go back and read the relevant section of the
chapter.


This is a very good idea for an approach. Will work quite well with everything else combined in with it.



- Are there specifics areas in which you feel a lot of so-called
"experts" tend to miss the boat in how they understand something or approach particular problems?



I know that it took me a long time to understand the difference
between XSLT patterns (which match) and XPath expressions (which
select), but once you understand this particular distinction many
things in XSLT become a lot clearer. It's also an area where the
language used in some books that I've read can be pretty fuzzy.


Agreed. Although this is an area I feel pretty comforable in there are a few that, although I understand them, still trip me up from time to time. Probably the biggest is namespaces and as such I plan to spend a good deal of time taking my level of understanding to a much higher level in this particular area.

Whitespace and namespace handling are other things that it took me a
long time to get my head around, but they are more rarely important.


I should have read forward one more sentence :) It seems namespace handling is a zinger for a lot of us. :)

Constructing a good algorithm for performing a calculation using
recursion is a major skill in XSLT, particularly balancing the
conflicting requirements of writing readable, maintainable code,
writing efficient code, and writing reusable code.


Absolutely! I dont think anybody (except maybe Knuth of course :) could claim to know all there is to know about building solid and efficient alogorithms for whatever the task may be or even the language being used. They always seems to be a better or faster way of performing a task. It seems to me that with a greater understanding of all the little details it will be a much easier task to fine tune and rework code such that it takes full advantage of what the language has to offer. Going through this process with your book is something I feel is going to help me locate and internalize all these little details that I know are out there, I just dont know exactly what they are (obviously if I did I wouldnt have the need to go through this process :) A good example of one that came up on the list last week is the proper useage of the number() function. I have always used the number function when stripping out non-numeric characters from a string to then compare as a number. Of course, through the help of David Carlisle, I discovered that this was an unnecessary step as XSLT is designed to cast from string to number (if possible) when doing a comparison. Something else I learned was a fantastic little trick that I had never seen used before: using the number function to dynamically determine what element to use based on document position (e.g. foo(number(@bar)) would allow you to select the element in the position that was contained in foo/@bar. These are the types of little details that I am hoping to possibly re-discover during this process.



- Are there portions of XSLT 1.0 that are rarely used in practice (and as such not well understood) that, if implemented correctly, could make my XSLT code cleaner, leaner, more efficient, easier to maintain, or easier to fine tune and/or debug?



Keys are the only thing that comes to mind, though perhaps
<xsl:strip-space> and <xsl:preserve-space> are contenders. XSLT 1.0 is
pretty lean: there aren't many features there, so people tend to use
most of them.


Yeah, even as much as I use them I still find myself having to methodically step through my code everytime to make sure that I using proper context and such. This is definitely an error that can easily trip up even the best of developers... definitely something that you can never spend enough time practicing :)



- And finally, leading up to your 2.0 release due out in a few
months what areas of this title would you suggest as areas that will
help me better understand (and therefore implement) the content you
set forth in this upcoming title? Or in other words, from your
standpoint, what portion(s) of XSLT 1.0 is and will remain as the
absolute core of XSLT from now until the end of the foreseeable XSLT
future?



"Beginning XSLT 2.0" will be approximately 75% the same as "Beginning
XSLT". The essence of the basic processing model of processing nodes
in order to get results doesn't change: I'd view that as the core of
XSLT.


Ah, thats a good number to remember. Definitely will help in both learning and teaching XSLT 2.0.

My other book, "XSLT and XPath On The Edge" is written for more
advanced XSLT programmers, so perhaps you'd find that more helpful
(though I think "Beginning XSLT" is better written).


I didnt see that one there but if its not there when I do my daily "fix" at B&N I will have them order it for me. Again, the idea of even doing this excercise in the first place is to simply rework my brain tissue in such a way as to locate and internalize all the little stuff that seems to get forgotten or never realized when you first begin to use a new development language. Its been quite some time since I frst started developing with XSLT so this process I think is well overdue. None-the-less, its never too late to learn and I'm confident that going through this process will be just the learning process I need to kick my expertise level up one more notch.

In fact (I'm going to advertise this in a seperate email that is short and to the point so that more people become aware of it) I am going to document this process using a blog format at the domain "UnderstandingXSLT.com" and encourage people to go out and buy a copy of your book and follow along with me, discussing through comments the experience each person may be having, details they have discovered that may interest others, and questions they might have that anybody reading might be able to answer. It would be great if you stopped by to chime in on things now and again as I am sure there are many people out there, myself included, who would love to hear what you have to say about certain areas contained withing your book.

BTW... is there a preferred vendor or URL that you would like me to list for people to visit to buy a copy of this title?

Thanks for everything Jeni! I am looking forward to getting the process started and to possibly helping to create a community momentum that will help us all understand XSLT just a little bit better than we did before.

Cheers!

<M:D/>

Cheers,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/

Current Thread