[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Subject: Re: DOCBOOK-APPS: Experience with Framemaker 7.o anyone?
On Tue, Jun 25, 2002 at 02:25:42AM -0500, Michael Smith wrote: > > [Stuff deleted] > > I found that all of my <ulink> elements disappeared on import into > Frame 7 -- not just the ones inside <literallayout>. > > It does allow you to insert <ulink> content into documents, but > doesn't actually turn that content into hyperlinks (it doesn't turn > <link> content into hyperlinks either). > > So as far as I can tell, the only mechanism for inserting URL > hyperlinks is to use the native non-XML FrameMaker hyperlink markup > (i.e., type "message URL http://foo" in the Special>Hypertext dialog, > just as you would in Frame 6). On export to XML, these native Frame > hyperlinks show up as processing instructions: > > <?FM MARKER [Hypertext] message URL http://foo?> > > that aren't going to be useful to any applications other than Frame. > > There is an Element Tag submenu under Special>Hypertext, but <ulink> > and <link> are not on it. > > On the upside, it does let you use the native DocBook <xref> element > for inserting cross references, and exports those to XML correctly. FrameMaker's cross referencing mechanism is a good match with <xref>, but appears to be incompatible with <link>. In FrameMaker, a cross reference is a zero-width marker that is always expected to generate its own text. That is just like xref. But for link, there is no place to put your own text that would get turned into hot text for a hyperlink. You can certainly insert a <link> element with a linkend attribute in FrameMaker. But it is not a FrameMaker cross reference, so you can't apply a FrameMaker cross reference style to generate text, such as "on page xxx". The best I can see is to append a Frame cross reference marker to the end of a link element's content, and assign a Frame style that generates " on page xxx". The current read/write rules don't import a link like this this, and it doesn't appear to be possible with the provided read/write syntax. But a Frame C API function could do it. Ulink is a different case, since you aren't trying to link to another DocBook/Frame document, so the Frame cross reference mechanim doesn't come into play. Ulink is just an element with text content and a url attribute. I think it is probably an oversight that ulink isn't handled by the export process. There is a note in the rules file (in C:\Program Files\Adobe\FrameMaker7.0\structure\xml\xdocbook\app\rules on my system) that says "ULink is handled by the client during import and export". When Frame says "client", they mean a custom program written in C using the Frame API. There is ulink code in the supplied source code (..\structure\xml\xdocbook\src\export.c), but it appears to not work. For rendering ulink to print within FrameMaker, you could create a formatting rule in the EDD to render the url attribute as text, if that is your style. That formatting rule for ulink isn't there in the provided EDD, though. I think this is another indication that the DocBook application included with Frame 7 is a good start, but it is not finished. I'm not interested in debugging their export.c code, so I wonder if we could recruit Adobe to finish it? It would certainly be to their market advantage to do so, given the size of this mailing list. Does anyone have a contact at Adobe that might listen to such a pitch? Any Adobe people listening? -- Bob Stayton 400 Encinal Street Publications Architect Santa Cruz, CA 95060 Technical Publications voice: (831) 427-7796 Caldera International, Inc. fax: (831) 429-1887 email: firstname.lastname@example.org
Powered by eList eXpress LLC