Copy link to clipboard
Copied
I'm working with a user manual our team has created entirely in FM9. We have some sections that have prefixes attached to the heading based on an attribute value in the element. I'm running into an issue with the <$elemtextonly> tag when making a cross reference to a section with a prefix on the header. My understanding is that the <$elemtextonly> tag should strip out the header prefix, but I can't seem to get this to work. I've tried pointing at both the header and the section elements and the prefix is still included as if I had used the <$elemtext> tag instead. However, the <$elemtextonly> tag is behaving in the expected way in my table of contents, so I'm somewhat confused as to why the same tag isn't working in my cross references. Is there something I'm doing wrong here?
Copy link to clipboard
Copied
I use version 9 and use <$elemtextonly> in several cross-references, and they work correctly. Of course, my targets do not have prefixes, but they do have autonumbers.
On another note, maybe related, we used to put <$elemtextonly> inside custom markers and used them to generate an index of the contents of the elements containing those markers (an index of warnings). The warning paragraphs DID contain a prefix (Warning and a line break); and the prefixes were stripped out correctly in the generated index. HOWEVER, in version FrameMaker 9, this did not work. I had to replace <$elemtextonly> with <$paratext> and redesign the structure so that there was NO prefix in the paragraphs. So, maybe something weird is also happening with <$elemtextonly> and prefixes in cross-references.
It ticked me off that this wonderful feature that my life easy broke in a newer version. I wrote an email to a FrameMaker engineer and got nothing in return.
Unless you can figure out what you are doing wrong, if anything, I suggest submitting a bug report. This feature should at least work as adverised.
Van
Copy link to clipboard
Copied
Autonumbers are correctly being removed by <$elemtextonly>. In cases where an item contains both a prefix and an autonumber the number is gone, but the prefix is still in the cross reference. We're using an element attribute to be able to filter sections at various levels, and the value of that attribute also determines the prefix. We generally only need the prefix attached to the copy when it appears in the body text (i.e. not the TOC or xrefs), but I'm not certain how we should restructure this to not use a prefix. Since we have a relatively small number of cross references our workaround has been to add an attribute containing the name we want to appear in cross references and use <$attribute> instead, but this feels clunky and probably isn't a good long-term solution.
Copy link to clipboard
Copied
The solution I used was to make the prefix a separate element. This means having to add two elements instead of one. The EDD would create the content for the "prefix" element in the same way as you do now to create the prefix. This is also clunky but at least you do not have to add special content to an attribute for each instance of the element. My guess is that the use of <$elemtextonly> in cross-references to elements with prefixes got broke in the upgrade to version 9 and either not yet fixed or not yet noticed. That is why I suggest sending in a bug report.
Copy link to clipboard
Copied
One addition...
Today an update to FrameMaker 9 was announced, and the list of resolved issues includes the one I had with using <$elemtextonly> to generate an index of markers. I have NOT updated yet, and so do not know whether it really resolves the issue. If it does, maybe it resolves yours also. You might want to do the update before changing your structure. I will keep my fingers crossed.
Copy link to clipboard
Copied
G.
I updated FrameMaker to 9.0.3 and the problems I encountered during the transition to Frame 9 (using <$elemtextonly>) have disappeared with this update.
For fun, I created a cross-reference that used <$elemtextonly> to a target element with a prefix. AND the prefix was EXCLUDED from the cross-reference text. Therefore, it now works as you want, and the documentation states.
Van
Copy link to clipboard
Copied
Thanks for the helpful response. I was finally able to update to 9.0.3 but I'm still running into the same issue. I assume you're using a prefix rule in your EDD to create the prefix? I tried a simple test just modifying the given book EDD to include a prefix rule on para elements, however, cross-references targeting it using <$elemtextonly> still include the prefix.
Copy link to clipboard
Copied
You are absolutely correct. I just tried cross-referencing a paragraph with a prefix using <$elemtextonly> and the prefix IS displayed. When I checked it yesterday, I must not have looked closely at the result. So, it is still a bug, and I suggest reporting it, because it is not working as advertised.
Sorry for getting your hopes up,
Van