Actually, even when using 'asciidoc' (without data-uri set) instead of 
'a2x', the absolute Windows path appears in the generated html. :-( 
Furthermore, there are lots of discussions going on in docbook/dblatex 
forums regarding problems with 'fileref' and absolute/relative paths.

My conclusion to avoid as many problems as possible: In Asciidoc, images 
must always be included using relative paths which are interpretable as 
relative URIs at the same time!  

Am Dienstag, 17. Juli 2012 14:13:04 UTC+2 schrieb Lex Trotman:
>
> On 17 July 2012 21:37, Thomas K. <[email protected]> wrote: 
> > Hi Lex, 
> > 
> > thanks for your comments. It looks like the problem is related to the 
> > generated docbook XML or the toolchain processing this XML. 
> > 
> > The generated docbook XML contains elements like: 
> > 
> > <mediaobject> 
> >   <imageobject> 
> >   <imagedata fileref="C:\docdir\asciidoc\images\myimage.png"/> 
> > 
> >             ... 
> > 
> > If this is converted either to xhtml or to LaTeX, this path appears 
> > unchanged in both output files. For xhtml, the output won't work because 
> > 
> > <img src=" C:\docdir\asciidoc\images\myimage.png " ... 
> > 
> > 
> > contains an invalid URI. 
> > 
> > For the LaTeX backend, pdflatex chokes at the path with backslashes, 
> even on 
> > Windows. 
>
> Sigh, I guess Latex/dblatex doesn't acknowledge platform local 
> conventions.  That means asciidoc can't do anything about it, if it 
> generates unix paths some windows tools might object, if it generates 
> windows paths clearly dblatex/latex objects. 
>
> > 
> > From my point of view, the either generated docbook XML is wrong with 
> > respect to the fileref attribute, or the postprocessing of the XML has 
> to 
> > take care of the conversions. 
>
> Well, the fileref looks like what was asked for.  What goes in a 
> fileref isn't defined by docbook (it just says CDATA, so it could be 
> anything). 
>
> > 
> > Adding my own macro to docbook45.conf is a workaround, though. 
>
> Good luck. 
>
> Cheers 
> Lex 
>
>
> > 
> > Thanks 
> > 
> > Thomas 
> > 
> > 
> > Am Dienstag, 17. Juli 2012 13:01:15 UTC+2 schrieb Lex Trotman: 
> >> 
> >> On 17 July 2012 20:00, Thomas K. <[email protected]> wrote: 
> >> > Hi, 
> >> > 
> >> > I am trying to use the {indir} attribute as part as a path when 
> >> > including 
> >> > images, e.g. 
> >> > 
> >> > image::{indir}/images/myimage.png[] 
> >> > 
> >> > 
> >> > The document is converted via a2x and dblatex backend on Windows. 
> >> > 
> >> > LaTeX fails, because it chokes when discovering a path containing 
> >> > backslashes like 'C:\docdir\asciidoc/images/myimage.png[]'. 
> >> 
> >> I would have expected Latex on windows to work with backslashes, since 
> >> thats the default on that platform.  Having it work with a mixed path 
> >> might be the problem.  If having all backslashes doesn't work or you 
> >> want to be portable try your own macro as below. 
> >> 
> >> Unfortunately asciidoc doesn't know the thing it is substituting 
> >> {indir} into is a path, so it can't convert it, and the image source 
> >> could be any URL so having asciidoc do a  simple slash/backslash 
> >> substitution is not a general solution either.  So AFAICT there isn't 
> >> a good general solution that asciidoc can apply. 
> >> 
> >> Since you know you are only dealing with files you might try 
> >> generating your own macro that uses the Python os.path.join and 
> >> os.path.normpath to make the path and then do what image does (just 
> >> copy that section from the system docbook45.conf to a local 
> >> docbook45.conf).  That way it will use the correct {indir} in included 
> >> files. 
> >> 
> >> Cheers 
> >> Lex 
> >> 
> >> > 
> >> > As a workaround, I am currently using {docdir} instead of {indir} and 
> >> > converting the backslashes in the docdir path  into a LaTeX-friendly 
> >> > format: 
> >> > 
> >> > :docdir: {eval:r"{docdir}".replace("\\","/")} 
> >> > 
> >> > 
> >> > This is done at the beginning of my toplevel document. Doing the same 
> >> > with 
> >> > {indir} would mean that I would have to do it at the beginning of 
> each 
> >> > of my 
> >> > (included) documents, which is a bit painful. 
> >> > 
> >> > Would it be possible for asciidoc to convert all backslashes in path 
> >> > names 
> >> > into forward slashes by default? This obviously works for all 
> operating 
> >> > systems. Or my problem actually related to dblatex, which should 
> perform 
> >> > this conversion instead? 
> >> > 
> >> > Greetings 
> >> > 
> >> > Thomas 
> >> > 
> >> > 
> >> > 
> >> > 
> >> > 
> >> > 
> >> > -- 
> >> > You received this message because you are subscribed to the Google 
> >> > Groups 
> >> > "asciidoc" group. 
> >> > To view this discussion on the web visit 
> >> > https://groups.google.com/d/msg/asciidoc/-/EAvTLt7nCHAJ. 
> >> > To post to this group, send email to [email protected]. 
> >> > To unsubscribe from this group, send email to 
> >> > [email protected]. 
> >> > For more options, visit this group at 
> >> > http://groups.google.com/group/asciidoc?hl=en. 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups 
> > "asciidoc" group. 
> > To view this discussion on the web visit 
> > https://groups.google.com/d/msg/asciidoc/-/vBVvYfGe_JYJ. 
> > 
> > To post to this group, send email to [email protected]. 
> > To unsubscribe from this group, send email to 
> > [email protected]. 
> > For more options, visit this group at 
> > http://groups.google.com/group/asciidoc?hl=en. 
>

-- 
You received this message because you are subscribed to the Google Groups 
"asciidoc" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/asciidoc/-/R4JdQcuFUScJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/asciidoc?hl=en.

Reply via email to