Site Map - skip to main content - dyslexic font - mobile - text - print

Hobby Public Radio

Your ideas, projects, opinions - podcasted.

New episodes Monday through Friday.


Please support our Patrons

Our hosting is kindly provided by Josh from AnHonestHost.com. We would appreciate it if you could donate to help reduce his costs in funding the hosting. He is also accepting bitcoins to 1KsxJr9HtsdaUeU7yaV9bk9bQi21UPBtUq
Please also consider supporting the https://archive.org/donate/ who are now hosting our media files. Right now, a generous supporter will match your contributions 3-to-1. So your $5 donation results in $20 for the Internet Archive.

hpr2425 :: Intro to XSL

A brief introduction to XSL and xsltproc

<< First, < Previous, Latest >>

Hosted by klaatu on 2017-11-17 is flagged as Clean and is released under a CC-BY-SA license.
Tags: docbook,xml,xsl.
Listen in ogg, spx, or mp3 format. | Comments (2)

Sure, you can use pandoc to process your Docbook XML, but why not learn a little XSL this weekend?

Requirements

You must have xsltproc installed. It's available from your software repository.

Here is some sample XML for you:


<xml version="1.0">
  <para>
    My name is <author>Foo</author>.
  </para>

  <para>
    You're listening to <emphasis role="bold">Hacker Public
    Radio</emphasis>.
  </para>
</xml>

And here's the complete XSL as demonstrated:


<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

  <xsl:template match="para">
    <p><span><xsl:apply-templates/></span></p>
  </xsl:template>

  <xsl:template match="emphasis">
    <em><xsl:apply-templates/></em>
  </xsl:template>

  <xsl:template match="emphasis[@role='bold']">
    <strong><xsl:apply-templates/></strong>
  </xsl:template>

  <xsl:template match="author" name="host">
    <xsl:choose>

      <xsl:when test="$host = 'Klaatu'">
        <xsl:text>Klaatu</xsl:text>
      </xsl:when>

      <xsl:when test="$host = 'Gort'">
        <xsl:text>Gort</xsl:text>
      </xsl:when>
    </xsl:choose>
  </xsl:template>
</xsl:stylesheet>

Links


Comments

Subscribe to the comments RSS feed.

Comment #1 posted on 2017-11-19T22:49:47Z by Dave Morriss

This was really interesting

I enjoyed this a lot. It was very clearly explained and the example was helpful.

I tried to understand XSL back in 2012 when writing Bash scripts to let me download music from Magnatune. They held their catalogue in XML at that time (now it's in a SQLite database) and I used xsltproc and XSL to extract stuff. I didn't find any very clear explanations of what could be done in XSL at that time, though I winged it by copying examples and using trial and error.

Your links seem to fill in many of the gaps in my understanding, so thanks for them too.

Dave

Comment #2 posted on 2017-11-21T07:37:38Z by Klaatu

Re: This was really interesting

Glad you enjoyed in! I just can't wait for your LaTeX episode!

<< First, < Previous, Latest >>

Leave Comment

Note to Verbose Commenters
If you can't fit everything you want to say in the comment below then you really should record a response show instead.

Note to Spammers
All comments are moderated. All links are checked by humans. We strip out all html. Feel free to record a show about yourself, or your industry, or any other topic we may find interesting. We also check shows for spam :).

Provide feedback
Your Name/Handle:
Title:
Comment:
Anti Spam Question: What does the P in HPR stand for ?
Are you a spammer →
Who hosted this show →
What does HPR mean to you ?