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/
--~------------------------------------------------------------------
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>
--~--
--~------------------------------------------------------------------
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>
--~--