<p>I'm exploring the XML -> XSLT -> HTML meme for producing web content. I have very little XSLT experience.</p>

<p>I'm curious what mechanisms are available in XSLT to handle abstractions or "refactoring".</p>

<p>For example, with generic HTML and a service side include, many pages can be templated and decomposed to where there are, say, common header, nav, and footer segments, and the page itself is basically the body.</p>

<p>The common markup languages, JSP, PHP, ASP, go as far as to allow all of those segments to have dynamic content (such as adding the user name to every header block).</p>

<p>JSP goes even farther by allowing you to create Tag files, which can accept arguments to be used when generating the content, and even surround and work on content within the tags themselves.</p>

<p>I'm curious similar functionality is done within XSLT.  What facilities are there to make reusable block of XSLT for things like creating HTML pages?</p>

Templates, Includes.
Xsl is very different from any other programming language.
```
Its rule based.
```
I recommend you to read
something
about Xslt and then ask a bit more spedific.