Hi,
I think what is happening here is that you have DocBook 5 document
written in the DocBook namespace but are using the non-namespaced
version of the stylesheet that is better matched to DocBook 4. When
that happens, the stylesheet detects the namespace, and then converts
the document to DocBook 4 before applying formatting templates. Part of
that conversion is to change each instance of xml:id in the document to
id, so that your new template does not match.
The solution is to either switch to the namespaced version of the
stylesheets (recommended for Docbook 5), or change the customized
template to match="@id".
Bob Stayton
Sagehill Enterprises
[email protected]
On 2/17/2016 10:22 AM, Tim Arnold wrote:
Hi Bob, Thomas,
I'm bewildered. In case I've got something wrong in my source or
stylesheet, here is what I'm doing:
The command: *xsltproc test.xsl test.xml*
The result has *<table xml:id="one.two.three">*
test.xml:
*<chapter xnlns="http://docbook.org/ns/docbook" version="5.0"
xml:id="test">*
*<info><title>My Chapter</title></info>*
* <para>*
* <table xml:id="one.two.three">*
* <caption>My Table</caption>*
* <tr><th>column 1</th><th>column 2</th></tr>*
* </table>*
* </para>*
*</chapter>*
test.xsl:
*<?xml version='1.0'?>*
*<xsl:stylesheet*
* xmlns:xsl="http://www.w3.org/1999/XSL/Transform"*
* version="1.0">*
*
*
* <xsl:import href="/path/to/xsl-1.79.1/html/docbook.xsl"/>*
* <xsl:template mode="htmlTableAtt" select="@xml:id"/>*
*
*
*</xsl:stylesheet>*
*
*
If that works for you then I'm not sure what to do. Maybe try a
different xsl processor?
thanks,
--Tim
On Wed, Feb 17, 2016 at 12:54 PM, Bob Stayton <[email protected]
<mailto:[email protected]>> wrote:
With that correction, it works for me. Not sure why it isn't for you.
Bob Stayton
Sagehill Enterprises
[email protected] <mailto:[email protected]>
On 2/16/2016 4:36 PM, Tim Arnold wrote:
Thanks Thomas,
That make sense--I wondered about that too, but even with that
change, I
still get the xml:id attribute.
--Tim
On Tue, Feb 16, 2016 at 3:11 PM, Thomas Schraitle
<[email protected] <mailto:[email protected]>
<mailto:[email protected] <mailto:[email protected]>>> wrote:
Hi Tim,
Am Dienstag, 16. Februar 2016, 13:02:21 schrieb Tim Arnold:
> I must still be doing something wrong since I keep
getting that attribute.
> Here is my test.xsl customization layer:
>
> <?xml version='1.0'?>
> <xsl:stylesheet
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> version="1.0">
>
> <xsl:import href="/path/to/xsl-1.79.1/html/docbook.xsl"/>
> <xsl:template mode="htmlTableAtt" select="xml:id" />
Haven't tested it, but I guess, in the select attribute you are
missing the
"@" symbol:
<xsl:template mode="htmlTableAtt" select="@xml:id" />
Otherwise you would select the _element_ id in the XML
namespace
(which is
very likely it doesn't exist).
Good luck!
--
Gruß/Regards
Thomas Schraitle
---------------------------------------------------------------------
To unsubscribe, e-mail:
[email protected]
<mailto:[email protected]>
<mailto:[email protected]
<mailto:[email protected]>>
For additional commands, e-mail:
[email protected]
<mailto:[email protected]>
<mailto:[email protected]
<mailto:[email protected]>>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]