[docbook-apps] Alt text not appearing in inlinemediaobject

2013-10-29 Thread David Goss
I have the the following docbook 5 markup: 
paraClick the 
guibuttoninlinemediaobjectaltExecute/altimageobjectimagedata 
fileref=img/ldms/ldms_button_execute.png 
depth=1em//imageobject/inlinemediaobject button./guibutton/para 

It is outputting the following HTML : 
pClick the span class=guibuttonspan class=inlinemediaobjectimg 
src=img/ldms/ldms_button_execute.png height=13/span/span button./p 

I'm not sure why the alt text is not carrying over. Am I using the alt tag 
incorrectly or is this a bug? I'm using webhelp docbook-xsl-ns-1.78.1 . 

I did see this page in the XSL Guide: 
http://www.sagehill.net/docbookxsl/AltText.html 
But it looks to be for Docbook4. 




--- 
David Goss, M.A. 
Technical Writer, Laboratory Division 
Frontier Science  Technology Research Foundation 
4033 Maple Road 
Amherst, NY 14226 
(716) 834-0900 x7218 



Re: [docbook-apps] Alt text not appearing in inlinemediaobject

2013-10-29 Thread Thomas Schraitle
Hi David,

Am Dienstag, 29. Oktober 2013, 11:52:20 schrieb David Goss:
 I have the the following docbook 5 markup:
 paraClick the
 guibuttoninlinemediaobjectaltExecute/altimageobjectimagedata
 fileref=img/ldms/ldms_button_execute.png
 depth=1em//imageobject/inlinemediaobject button./guibutton/para
 
 It is outputting the following HTML :
 pClick the span class=guibuttonspan class=inlinemediaobjectimg
 src=img/ldms/ldms_button_execute.png height=13/span/span
 button./p

 I'm not sure why the alt text is not carrying over. Am I using the alt tag
 incorrectly or is this a bug? I'm using webhelp docbook-xsl-ns-1.78.1 .
 
Your DocBook markup is perfectly correct. But it seems, there is a deficiancy 
about the handling of inlinemediaobject in the DocBook stylesheets.

I suspect the html/graphics.xsl file in the imagedata template (lines 1250 - 
1331). In this template rule, the process.image template is called and the 
alt parameter is passed. However, it is not checked against an 
inlinemediaobject with a possible alt element. 

I would propose this change:

 xsl:call-template name=process.image
   xsl:with-param name=alt
 xsl:choose
   xsl:when test=ancestor::mediaobject/alt
  xsl:apply-templates select=ancestor::mediaobject/alt/
   /xsl:when
   xsl:when test=ancestor::inlinemediaobject/alt
  xsl:apply-templates select=ancestor::inlinemediaobject/alt/
   /xsl:when
   xsl:otherwise
  xsl:apply-templates 
   select=$phrases[not(@role) or @role!='tex'][1]/
   /xsl:otherwise
 /xsl:choose
   /xsl:with-param
   xsl:with-param name=longdesc
 xsl:call-template name=write.longdesc
xsl:with-param name=mediaobject
select=ancestor::imageobject/parent::*/
 /xsl:call-template
   /xsl:with-param
 /xsl:call-template


If you would like to give it a try, do the following:

1. Create a customization layer if you haven't done yet. If you don't know
   how, read one of the following URLs:
   http://www.sagehill.net/docbookxsl/CustomMethods.html#CustomizationLayer
   http://doccookbook.sf.net/html/en/dbc.common.dbcustomize.html

2. Copy the imagedata template from the original html/graphics.xsl template
   into your customization layer.

3. Search for the xsl:call-template line and apply the above patch (add the
   2nd xsl:when test).

4. Transform your DocBook document and use your customization layer.


 I did see this page in the XSL Guide:
 http://www.sagehill.net/docbookxsl/AltText.html
 But it looks to be for Docbook4.

You can use this also in DocBook 5 as long as it is valid.


-- 
Gruß/Regards
  Thomas Schraitle


-
To unsubscribe, e-mail: docbook-apps-unsubscr...@lists.oasis-open.org
For additional commands, e-mail: docbook-apps-h...@lists.oasis-open.org



Re: [docbook-apps] Alt text not appearing in inlinemediaobject

2013-10-29 Thread David Goss
Thanks Thomas. I tried that solution, but I'm still not seeing the alt 
attribute in the output. Below is what I added to my customization (I marked 
the change from the original stylesheet--it's just 3 additional lines). 

xsl:template match=d:imagedata 
xsl:variable name=filename 
xsl:call-template name=mediaobject.filename 
xsl:with-param name=object select=../ 
/xsl:call-template 
/xsl:variable 

xsl:choose 
!-- Handle MathML and SVG markup in imagedata -- 
xsl:when test=mml:* xmlns:mml=http://www.w3.org/1998/Math/MathML; 
xsl:apply-templates/ 
/xsl:when 

xsl:when test=svg:* xmlns:svg=http://www.w3.org/2000/svg; 
xsl:apply-templates/ 
/xsl:when 

xsl:when test=@format='linespecific' 
xsl:choose 
xsl:when test=$use.extensions != '0' 
and $textinsert.extension != '0' 
xsl:choose 
xsl:when test=element-available('stext:insertfile') 
stext:insertfile href={$filename} encoding={$textdata.default.encoding}/ 
/xsl:when 
xsl:when test=element-available('xtext:insertfile') 
xtext:insertfile href={$filename}/ 
/xsl:when 
xsl:otherwise 
xsl:message terminate=yes 
xsl:textNo insertfile extension available./xsl:text 
/xsl:message 
/xsl:otherwise 
/xsl:choose 
/xsl:when 
xsl:otherwise 
a xlink:type=simple xlink:show=embed xlink:actuate=onLoad 
href={$filename}/ 
/xsl:otherwise 
/xsl:choose 
/xsl:when 
xsl:otherwise 
xsl:variable name=longdesc.uri 
xsl:call-template name=longdesc.uri 
xsl:with-param name=mediaobject 
select=ancestor::d:imageobject/parent::*/ 
/xsl:call-template 
/xsl:variable 

xsl:variable name=phrases 
select=ancestor::d:mediaobject/d:textobject[d:phrase] 
|ancestor::d:inlinemediaobject/d:textobject[d:phrase] 
|ancestor::d:mediaobjectco/d:textobject[d:phrase]/ 

xsl:call-template name=process.image 
xsl:with-param name=alt 
xsl:choose 
xsl:when test=ancestor::d:mediaobject/d:alt 
xsl:apply-templates select=ancestor::d:mediaobject/d:alt/ 
/xsl:when 
!-- Added when statement below -- 
xsl:when test=ancestor::d:inlinemediaobject/d:alt 
xsl:apply-templates select=ancestor::d:inlinemediaobject/d:alt/ 
/xsl:when 
xsl:otherwise 
xsl:apply-templates select=$phrases[not(@role) or @role!='tex'][1]/ 
/xsl:otherwise 
/xsl:choose 
/xsl:with-param 
xsl:with-param name=longdesc 
xsl:call-template name=write.longdesc 
xsl:with-param name=mediaobject 
select=ancestor::d:imageobject/parent::*/ 
/xsl:call-template 
/xsl:with-param 
/xsl:call-template 

xsl:if test=$html.longdesc != 0 and $html.longdesc.link != 0 
and ancestor::d:imageobject/parent::*/d:textobject[not(d:phrase)] 
xsl:call-template name=longdesc.link 
xsl:with-param name=longdesc.uri select=$longdesc.uri/ 
/xsl:call-template 
/xsl:if 
/xsl:otherwise 
/xsl:choose 
/xsl:template 




--- 
David Goss, M.A. 
Technical Writer, Laboratory Division 
Frontier Science  Technology Research Foundation 
4033 Maple Road 
Amherst, NY 14226 
(716) 834-0900 x7218 

- Original Message -

From: Thomas Schraitle tom_s...@web.de 
To: docbook-apps@lists.oasis-open.org 
Sent: Tuesday, October 29, 2013 12:20:08 PM 
Subject: Re: [docbook-apps] Alt text not appearing in inlinemediaobject 

Hi David, 

Am Dienstag, 29. Oktober 2013, 11:52:20 schrieb David Goss: 
 I have the the following docbook 5 markup: 
 paraClick the 
 guibuttoninlinemediaobjectaltExecute/altimageobjectimagedata 
 fileref=img/ldms/ldms_button_execute.png 
 depth=1em//imageobject/inlinemediaobject button./guibutton/para 
 
 It is outputting the following HTML : 
 pClick the span class=guibuttonspan class=inlinemediaobjectimg 
 src=img/ldms/ldms_button_execute.png height=13/span/span 
 button./p 
 
 I'm not sure why the alt text is not carrying over. Am I using the alt tag 
 incorrectly or is this a bug? I'm using webhelp docbook-xsl-ns-1.78.1 . 

Your DocBook markup is perfectly correct. But it seems, there is a deficiancy 
about the handling of inlinemediaobject in the DocBook stylesheets. 

I suspect the html/graphics.xsl file in the imagedata template (lines 1250 - 
1331). In this template rule, the process.image template is called and the 
alt parameter is passed. However, it is not checked against an 
inlinemediaobject with a possible alt element. 

I would propose this change: 

xsl:call-template name=process.image 
xsl:with-param name=alt 
xsl:choose 
xsl:when test=ancestor::mediaobject/alt 
xsl:apply-templates select=ancestor::mediaobject/alt/ 
/xsl:when 
xsl:when test=ancestor::inlinemediaobject/alt 
xsl:apply-templates select=ancestor::inlinemediaobject/alt/ 
/xsl:when 
xsl:otherwise 
xsl:apply-templates 
select=$phrases[not(@role) or @role!='tex'][1]/ 
/xsl:otherwise 
/xsl:choose 
/xsl:with-param 
xsl:with-param name=longdesc 
xsl:call-template name=write.longdesc 
xsl:with-param name=mediaobject 
select=ancestor::imageobject/parent::*/ 
/xsl:call-template 
/xsl:with-param 
/xsl:call-template 


If you would like to give it a try, do the following: 

1. Create a customization layer if you haven't done yet. If you don't know 
how, read one of the following URLs: 
http://www.sagehill.net

Re: [docbook-apps] Alt text not appearing in inlinemediaobject

2013-10-29 Thread David Goss
It looks like xsl/graphics.xsl was also missing this: 

xsl:template match=d:inlinemediaobject/d:alt 
xsl:apply-templates/ 
/xsl:template 

Adding this, along with Thomas's suggestion fixed this problem. Thanks again 
for your help! 




--- 
David Goss, M.A. 
Technical Writer, Laboratory Division 
Frontier Science  Technology Research Foundation 
4033 Maple Road 
Amherst, NY 14226 
(716) 834-0900 x7218 

- Original Message -

From: David Goss g...@fstrf.org 
To: Thomas Schraitle tom_s...@web.de 
Cc: docbook-apps@lists.oasis-open.org 
Sent: Tuesday, October 29, 2013 12:47:41 PM 
Subject: Re: [docbook-apps] Alt text not appearing in inlinemediaobject 


Thanks Thomas. I tried that solution, but I'm still not seeing the alt 
attribute in the output. Below is what I added to my customization (I marked 
the change from the original stylesheet--it's just 3 additional lines). 

xsl:template match=d:imagedata 
xsl:variable name=filename 
xsl:call-template name=mediaobject.filename 
xsl:with-param name=object select=../ 
/xsl:call-template 
/xsl:variable 

xsl:choose 
!-- Handle MathML and SVG markup in imagedata -- 
xsl:when test=mml:* xmlns:mml=http://www.w3.org/1998/Math/MathML; 
xsl:apply-templates/ 
/xsl:when 

xsl:when test=svg:* xmlns:svg=http://www.w3.org/2000/svg; 
xsl:apply-templates/ 
/xsl:when 

xsl:when test=@format='linespecific' 
xsl:choose 
xsl:when test=$use.extensions != '0' 
and $textinsert.extension != '0' 
xsl:choose 
xsl:when test=element-available('stext:insertfile') 
stext:insertfile href={$filename} encoding={$textdata.default.encoding}/ 
/xsl:when 
xsl:when test=element-available('xtext:insertfile') 
xtext:insertfile href={$filename}/ 
/xsl:when 
xsl:otherwise 
xsl:message terminate=yes 
xsl:textNo insertfile extension available./xsl:text 
/xsl:message 
/xsl:otherwise 
/xsl:choose 
/xsl:when 
xsl:otherwise 
a xlink:type=simple xlink:show=embed xlink:actuate=onLoad 
href={$filename}/ 
/xsl:otherwise 
/xsl:choose 
/xsl:when 
xsl:otherwise 
xsl:variable name=longdesc.uri 
xsl:call-template name=longdesc.uri 
xsl:with-param name=mediaobject 
select=ancestor::d:imageobject/parent::*/ 
/xsl:call-template 
/xsl:variable 

xsl:variable name=phrases 
select=ancestor::d:mediaobject/d:textobject[d:phrase] 
|ancestor::d:inlinemediaobject/d:textobject[d:phrase] 
|ancestor::d:mediaobjectco/d:textobject[d:phrase]/ 

xsl:call-template name=process.image 
xsl:with-param name=alt 
xsl:choose 
xsl:when test=ancestor::d:mediaobject/d:alt 
xsl:apply-templates select=ancestor::d:mediaobject/d:alt/ 
/xsl:when 
!-- Added when statement below -- 
xsl:when test=ancestor::d:inlinemediaobject/d:alt 
xsl:apply-templates select=ancestor::d:inlinemediaobject/d:alt/ 
/xsl:when 
xsl:otherwise 
xsl:apply-templates select=$phrases[not(@role) or @role!='tex'][1]/ 
/xsl:otherwise 
/xsl:choose 
/xsl:with-param 
xsl:with-param name=longdesc 
xsl:call-template name=write.longdesc 
xsl:with-param name=mediaobject 
select=ancestor::d:imageobject/parent::*/ 
/xsl:call-template 
/xsl:with-param 
/xsl:call-template 

xsl:if test=$html.longdesc != 0 and $html.longdesc.link != 0 
and ancestor::d:imageobject/parent::*/d:textobject[not(d:phrase)] 
xsl:call-template name=longdesc.link 
xsl:with-param name=longdesc.uri select=$longdesc.uri/ 
/xsl:call-template 
/xsl:if 
/xsl:otherwise 
/xsl:choose 
/xsl:template 




--- 
David Goss, M.A. 
Technical Writer, Laboratory Division 
Frontier Science  Technology Research Foundation 
4033 Maple Road 
Amherst, NY 14226 
(716) 834-0900 x7218 

- Original Message -

From: Thomas Schraitle tom_s...@web.de 
To: docbook-apps@lists.oasis-open.org 
Sent: Tuesday, October 29, 2013 12:20:08 PM 
Subject: Re: [docbook-apps] Alt text not appearing in inlinemediaobject 

Hi David, 

Am Dienstag, 29. Oktober 2013, 11:52:20 schrieb David Goss: 
 I have the the following docbook 5 markup: 
 paraClick the 
 guibuttoninlinemediaobjectaltExecute/altimageobjectimagedata 
 fileref=img/ldms/ldms_button_execute.png 
 depth=1em//imageobject/inlinemediaobject button./guibutton/para 
 
 It is outputting the following HTML : 
 pClick the span class=guibuttonspan class=inlinemediaobjectimg 
 src=img/ldms/ldms_button_execute.png height=13/span/span 
 button./p 
 
 I'm not sure why the alt text is not carrying over. Am I using the alt tag 
 incorrectly or is this a bug? I'm using webhelp docbook-xsl-ns-1.78.1 . 

Your DocBook markup is perfectly correct. But it seems, there is a deficiancy 
about the handling of inlinemediaobject in the DocBook stylesheets. 

I suspect the html/graphics.xsl file in the imagedata template (lines 1250 - 
1331). In this template rule, the process.image template is called and the 
alt parameter is passed. However, it is not checked against an 
inlinemediaobject with a possible alt element. 

I would propose this change: 

xsl:call-template name=process.image 
xsl:with-param name=alt 
xsl:choose 
xsl:when test=ancestor::mediaobject/alt 
xsl:apply-templates select=ancestor

Re: [docbook-apps] Alt text not appearing in inlinemediaobject

2013-10-29 Thread Thomas Schraitle
Hi David,

Am Dienstag, 29. Oktober 2013, 14:20:29 schrieb David Goss:
 It looks like xsl/graphics.xsl was also missing this:
 
 xsl:template match=d:inlinemediaobject/d:alt
 xsl:apply-templates/
 /xsl:template
 
 Adding this, along with Thomas's suggestion fixed this problem. Thanks again
 for your help!
 [...]

Thanks for adding this bug to our database. I've added the patch to revision 
9827. If Bob or others can confirm it, the bug can be closed. :)


-- 
Gruß/Regards
  Thomas Schraitle


-
To unsubscribe, e-mail: docbook-apps-unsubscr...@lists.oasis-open.org
For additional commands, e-mail: docbook-apps-h...@lists.oasis-open.org