I've converted a bunch of old school presentation files to Docbook XML, and each file appears as expected. I intend to convert them to XHTML/HTML , and my test conversions look great. My only question is how to create a proper directory structure with links, I'm just not sure what process to consider. For example ... I'm looking to have links, to other converted Docbook pages, on the footers of the pages. If anyone has an idea to consider, I would appreciate the input.

Additionally with regards to XSLT, I'm using xsltproc which only supports XSLT 1.0 + common EXSLT modules. xsltproc is the command-line interface of libxslt, which still does not support XSLT 2.0. Regardless even though specific examples are great, I really need to know the general approach. With that information I could search further, to eventually locate specific examples.

有帮助吗?

解决方案

Given this source XML document:

<ref>
    <refentrytitle>FILE</refentrytitle>
    <volnum>1</volnum>
</ref>

then the this transformation:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output omit-xml-declaration="yes" indent="yes"/>

 <xsl:variable name="vU" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'"/>
 <xsl:variable name="vL" select="'abcdefghijklmnopqrstuvwxyz'"/>

 <xsl:template match="ref">
   <a href="/{volnum}/{translate(refentrytitle, $vU, $vL)}.xml">
     <xsl:value-of select="refentrytitle"/>
   </a>
 </xsl:template>
</xsl:stylesheet>

produces the wanted, correct result:

<a href="/1/file.xml">FILE</a>

其他提示

Well with XSLT 2.0 as supported by processors like Saxon 9, XmlPrime or AltovaXML you can create several result documents with one stylesheet, using xsl:result-document http://www.w3.org/TR/xslt20/#creating-result-trees. Usually you use modes http://www.w3.org/TR/xslt20/#modes to process input nodes twice or even more times, with one mode you create the individual pages, with a second mode the toc.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top