I don't know if I'm missing something here but wouldn't the default namespace 
on the root element of the package be enough to cover the namespace 
requirements? 

All other generated items in the package have the following syntax

    <item id="id-idp41008" href="ch05.xhtml" 
media-type="application/xhtml+xml"/>

and only the items added to the template have the namespace declaration as part 
of the item as shown in the prior message. I ended up adding the namespace 
declaration to the individual item

    <item xmlns="http://www.idpf.org/2007/opf"; id="font1" 
href="type/DejaVuSansMono.ttf" media-type="font/truetype"/>

and now it validates.  I think my question is whether we can skip the NS 
declaration and use the default from the package. Either way I'm good :-)

Carlos


On Apr 17, 2012, at 12:16 PM, Bob Stayton wrote:

> Actually, you do need a namespace in your output, just not the null 
> namespace.  Epub3 output elements must be in the XHTML namespace.  Any 
> customization layer must declare the default output namespace like this:
>  
> <xsl:stylesheet  xmlns="http://www.w3.org/1999/xhtml"; ...
>  
>  
> Bob Stayton
> Sagehill Enterprises
> b...@sagehill.net
>  
>  
> ----- Original Message -----
> From: Carlos Araya
> To: docbook-apps@lists.oasis-open.org
> Sent: Tuesday, April 17, 2012 11:34 AM
> Subject: [docbook-apps] Unwanted xmlns in attribute for ePub3 template
> 
> I am working with ePub3 ebooks and have found the following problem. 
> 
> I've added the template below to my customization layer for ePub3 publishing
> 
> <xsl:template name="user.manifest.items">
> <item id="font1" href="DejaVuSansMono.ttf" media-type="font/truetype"/>
> <item id="font2" href="GraublauWeb.otf" media-type="font/opentype"/>
> <item id="font3" href="GraublauWebBold.otf" media-type="font/opentype"/>
> </xsl:template>
> 
> It adds the items as requested but it inserts an empty xmlns="" declaration. 
> The resulting lines in the manifest file look like this:
> 
>    <item xmlns="" id="font1" href="DejaVuSansMono.ttf" 
> media-type="font/truetype"/>
>    <item xmlns="" id="font2" href="GraublauWeb.otf" 
> media-type="font/opentype"/>
>    <item xmlns="" id="font3" href="GraublauWebBold.otf" 
> media-type="font/opentype"/>
> 
> and produces the following error in epubcheck B4
> 
>     [java] ERROR: docbook-howto.epub/OEBPS/package.opf(36,86): element "item" 
> not allowed anywhere; expected the element end-tag or element "item" (with 
> xmlns="http://www.idpf.org/2007/opf";)
> 
> Is there a way to remove the namespace declaration or a template that I can 
> edit to make the change locally?

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

Reply via email to