OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [docbook-apps] epub3 + adding customized attribute and value to p tag?


OK, that's more clear.  The import statement indicates that you are using the namespaced stylesheets, and the use of @xml:id in the match attribute indicates that your document is DocBook 5.  So any element names used in the stylesheet must be in the DocBook namespace, and so must be preceded by the namespace prefix:
 
 <xsl:template match="d:chapter[@xml:id = 'mypreface']/d:para" mode="class.attribute" >
<xsl:param name="width" select="local-name(.)"/>
<xsl:attribute name="width">50px</xsl:attribute>
</xsl:template>
Then it should output the width attribute. 
 
I should point out that a width attribute on <p> is not valid HTML5 and will likely not pass epubcheck3, if that matters.
 
Bob Stayton
Sagehill Enterprises
bobs@sagehill.net

Sent: Monday, January 14, 2013 9:02 PM
Subject: Re: [docbook-apps] epub3 + adding customized attribute and value to p tag?

Oops, I pasted things incorrectly again! (But again, when I tried the correct form, the output would generate, but the chapter with the xml:id="mypreface" would NOT add a 'width = "50px"' value.



<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns="http://www.w3.org/1999/xhtml" xmlns:d="http://docbook.org/ns/docbook"
  xmlns:date="http://exslt.org/dates-and-times" xmlns:saxon="http://icl.com/saxon"
  exclude-result-prefixes="d date saxon" version="1.0">


  <xsl:import href=""/>


  <xsl:param name="use.id.as.filename">1</xsl:param>


  <xsl:template match="chapter[@xml:id = 'mypreface']/para"  mode="class.attribute" >
    <xsl:param name="width" select="local-name(.)"/>
    <xsl:attribute name="width">50px</xsl:attribute>
  </xsl:template>
 


</xsl:stylesheet>



On Mon, Jan 14, 2013 at 10:58 PM, Robert Nagle <idiotprogrammer@gmail.com> wrote:
(Whoops, I didn't  paste  it accurately into my email.  But the code I actually used (see below) did include that part, and it still not did not yield the  output I wanted. I tried this several times). 


<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns="http://www.w3.org/1999/xhtml" xmlns:d="http://docbook.org/ns/docbook"
  xmlns:date="http://exslt.org/dates-and-times" xmlns:saxon="http://icl.com/saxon"
  exclude-result-prefixes="d date saxon" version="1.0">


  <xsl:import href=""/>
  <xsl:param name="use.id.as.filename">1</xsl:param>



 
  <xsl:template match="chapter[@xml:id = 'mypreface']/para" mode="class.attribute" >

    <xsl:param name="width" select="local-name(.)"/>
    <xsl:attribute name="width">50px</xsl:attribute>
  </xsl:template>
 


</xsl:stylesheet>

  


On Mon, Jan 14, 2013 at 9:26 PM, Bob Stayton <bobs@sagehill.net> wrote:
Hi Robert,
You seem to have left off the mode="class.attribute" in your template.  In its current form it is processing in normal mode, which effectively kills the output for that element.
 
Bob Stayton
Sagehill Enterprises
bobs@sagehill.net

Sent: Saturday, January 12, 2013 2:33 AM
Subject: [docbook-apps] epub3 + adding customized attribute and value to p tag?

Hi, there,

I am trying to add custom attribute values to all para tags inside a specific chapter(the reason for this will be explained in a later question).

About a year or so ago, Bob suggested a way to insert new attributes and values into html output.
https://lists.oasis-open.org/archives/docbook-apps/201108/msg00091.html

However, when I try it using the epub 3 stylesheets, it doesn't succeed:

My goal here is to add a custom attribute and value for every p tag inside the <chapter xml:id="mypreface">

******************************* MY SOURCE XML
<?xml version="1.0" encoding="UTF-8"?>
<?oxygen RNGSchema="http://www.oasis-open.org/docbook/xml/5.0/rng/docbook.rng" type="xml"?>

<book xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude"
    xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="robert-book">


    <chapter xml:id="mypreface">
        <title>First</title>
        <para> this is my  good <emphasis role="bold">bold </emphasis>first para</para>
        <para> This is my good second para</para>
       
    </chapter>
   
    <chapter xml:id="bad1">
        <title>Second</title>
        <para> this is my  bad<emphasis role="bold">bold</emphasis>first para</para>
        <para> This is my bad second para</para>
    </chapter>
   
    <chapter xml:id="bad2">
        <title>Third </title>
        <para> 2this is my  bad<emphasis role="bold">bold</emphasis>first para</para>
        <para> 2 This is my bad second para</para>
    </chapter>
   
*************************************************************MY CUSTOMIZATION LAYER

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns="http://www.w3.org/1999/xhtml" xmlns:d="http://docbook.org/ns/docbook"
  xmlns:date="http://exslt.org/dates-and-times" xmlns:saxon="http://icl.com/saxon"
  exclude-result-prefixes="d date saxon" version="1.0">

  <xsl:import href=""/>

  <xsl:template match="chapter[@xml:id = 'mypreface']/para" >
    <xsl:param name="width" select="local-name(.)"/>
    <xsl:attribute name="width">50px</xsl:attribute>
  </xsl:template>
  </xsl:stylesheet>

*********************************************************************
(I also changing the xpath statement to d:chapter[@xml:id = 'preface']/d:para with the same result)

I would expect every p tag in the RESULT output to contain 'width="50px". But instead I see for the first chapter this result: 

...
<body><header></header>
<section class="chapter" title="First" epub:type="chapter" id="mypreface">
<div class="titlepage">
   <div>
      <div><h1 class="title">First</h1></div>
   </div>
</div>
<p>   this is my good <span class="bold"><strong>bold </strong></span>first para</p>
<p>   This is my good second para</p></section><footer></footer></body>
************************************************************************************

I'm not sure what I'm doing wrong; have I written the xpath wrong? For the previous xsl snippet Bob suggested which I used for adding custom attributes, this was pre-epub3. How would you do this in epub3? Or am I making a syntax error of some sort?

Thanks for your help


--
Robert Nagle
6121 Winsome Ln #56C, Houston TX 77057-5581
(H) 713 893 3424/ (W) 832-251-7522 Carbon Neutral Since Jan 2010
http://www.robertnagle.info



--
Robert Nagle
6121 Winsome Ln #56C, Houston TX 77057-5581
(H) 713 893 3424/ (W) 832-251-7522 Carbon Neutral Since Jan 2010
http://www.robertnagle.info



--
Robert Nagle
6121 Winsome Ln #56C, Houston TX 77057-5581
(H) 713 893 3424/ (W) 832-251-7522 Carbon Neutral Since Jan 2010
http://www.robertnagle.info


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]