This is an update on the technique for creating posts from XML indexes of Scripture using the English Standard Version web services API. The earlier version is here (but i've replaced the code with newer version, so if you try to run the old one it may not quite work now).
I decided it made more sense to separate each stage of the process:
- the original index file is still authored directly in XML (i use XML Spy).
- I use a Perl program to retrieve the verse texts from the ESV and insert them directly into the XML. I call this the "textualized" version.
- Then i have an XSLT file for transforming this into either a full HTML page (for standalone viewing), or a table-only version (no HTML header) that i can paste directly into a blog post
I spent some time struggling with proper translation of the nicer single and double-quotes that ESV produces (‘, “, etc.). But i haven't cracked this one yet, so i just replace all fancy quotes with their dumber equivalents.
The Pieces
- The Perl program (change the file extension to .pl: you'll need the XML::Twig module)
- The XSLT transform
- The schema definition
- The source XML file (untextualized) for Luke
Lastly, you can find the result of this process pasted into this post for Luke. Next step: add some dynamic behavior to be able to sort this table.
![]() |
Unless otherwise noted, all content is copyright 2004 by Sean Boisen |

