Copy link to clipboard
Copied
The XML schema we are using maps two different elements onto FrameMaker cross-references. One of them is a link to an ID elsewhere in this or another document, and the other is a footnote reference (where e.g. a table has two footnotes, and multiple cells in the table share the same footnote). The two types of cross reference have their own element tags and formats, on loading an XML document the elements are mapped to the correct type of cross-reference via rules, and when a document is saved the cross-references are translated back into link and footnoteref elements with all the appropriate attributes and content. So far so good.
In a previous version of FrameMaker I had the software set up so that if a user inserted a link element in the structure view, the "insert cross reference" dialog would automatically pop up, and the element tag and format would be correctly primed for a link; similarly if they inserted a footnote reference element in the structure view, the dialog would appear primed for a footnote. I cannot see how to make this happen in Frame 2019. Can anyone give me a tip?
Something similar is already happening with images; when a user inserts an img in the structure view, the insert > image dialog opens immediately. I didn't have to code or set anything to trigger this, it seems to be built in. But I definitely had cross references doing the equivalent thing in FrameMaker 8, and I'd like to get Frame 2019 doing the same, if possible.
Thanks in advance
T
Copy link to clipboard
Copied
Trevor, I do see some unexpected behaviour when trying this out with the S1000D application. However I'm not sure it's the same as you see. I can insert an internalRef and it correctly inserts the correct initial structure and allows me to select the target from the Element list in the Cross Reference pod. This works as expected except that the Element Tag dropdown now only shows footnoteRef which is incorrect as the internalRef should be available too. This looks like a bug to me, but I'm not sure if we are seeing the same problem.
Ian
Copy link to clipboard
Copied
I need to correct something I said above. Our schema actually only has one element for links, but our preprocessor stylesheet converts links which resolve to footnotes into a separate element. So as far as Frame is concerned links are cross references, and footnoterefs are, well, footnoterefs. Then our post-processor stylesheet folds them back into links again. All of that is working just fine.
There are two issues with cross-reference creation (and I think one of them is what you mention in your reply).
Firstly, when the user inserts a link or footnoteref element into the structure view, FrameMaker used to immediately open the Insert Cross-reference dialog. It doesn't do this now, the user has to open it from the toolbar menu.
Secondly, when the cross-reference dialog opened, the element tag used to say link for a link and footnoteref for a footnoteref. Now it says footnoteref (although link is available as a choice in the dropdown).
It's quite possible that in our previous Frame install I had set some user preference or saved some configuration data that caused this dialog to open, but if I did the details are lost in the mists of time, and I can't find anything about it in the developers guide or reference.
Copy link to clipboard
Copied
The pre-processor XSLT shouldn't really have any effect on the behaviour of the cross refs in FrameMaker because:
It seems that we are seeing different behaviour because the Cross-reference dialog is opening when I insert any type of cross-ref element. The Element Tag dropdown is initially populated correctly too. Only after insertion of a cross-ref does that list become limited to footnoteRef.
It could be an EDD thing? How are your xref elements defined? Are they single elements, or do they have sub-structure to allow for text content?
Copy link to clipboard
Copied
In the "rules" file I have this:
/* cross references */
element "link" {
is fm cross-reference element;
attribute "idref" is fm property cross-reference id;
}
element "footnoteref" {
is fm cross-reference element;
attribute "idref" is fm property cross-reference id;
}
In the EDD I have this:
Element (CrossReference): link
Attribute list
1. Name: fixed Choice Optional
Choices: Y, N
2. Name: content String Optional
3. Name: target String Optional
Initial cross-reference format
1. If context is: related
Use cross-reference format: Related Material
Else
Use cross-reference format: Heading
Element (CrossReference): footnoteref
Initial cross-reference format
1. In all contexts.
Use cross-reference format: Footnote Ref
Neither element has sub-structure, but a link does have "fixed" and "content" attributes which allow the cross reference text as displayed by Frame to be overridden when the documents are saved as XML, and thereafter put into a readable form for our users.
Copy link to clipboard
Copied
That all looks good to me, so I'm not sure where to go from here. Are you running the latest update? I'm testing this on version 15.0.2.503. I'm not aware of any changes that would make a difference however.
Copy link to clipboard
Copied
Yes I am. I'm relieved that it autoprompts for you, because at least that means it's possible and I'm not dreaming.
Copy link to clipboard
Copied
I created an equivalent XML application using the EDD and Read/Write rules fragments that you showed in message 4. The results were again exactly as expected, the Cross-Reference dialog popped-up as expected. The only parts missing for link and footnoteref are:
However these have no effect on the behaviour of the Cross-Reference dialog.
I'm now out of ideas, sorry that I can't find an answer for you.
Ian
Copy link to clipboard
Copied
Is this a DITA project? The reason I ask is that DITA applications use a different Cross Reference dialog... I've been using the standard, non-DITA dialog.
...
Scratch that, the DITA dialog pops-up correctly too...
Copy link to clipboard
Copied
Now it's not DITA. We have our own schema (which had to be rewritten as a DTD for FrameMaker 7 which didn't support XSD files).
The project started with a wide variety of documents which had been produced in a variety of Latex, Ventura, Word, Publisher, and a couple of other tools I can't recall any more. I used a variety of tools to save each type of file as XML and transformed them all into a common schema. With the benefit of about 15 years of hindsight I wish I had simply chosen Docbook or DITA back then instead of rolling my own, but there you go.