Copy link to clipboard
Copied
Is there a technique when building an EDD that allows you to add an element to a structure that takes up no space on the page?
basically, want an element to be included in an xml document as an empty tag set, like: <part></part>. However, do not want this element taking up any space on the framemaker page. Right now it takes up a line of text.
Is there anyway in the edd, perhaps as a general rule, to make this element so that it takes up no space on the framemaker page? Tried different combinations, but wasn't having any luck.
Copy link to clipboard
Copied
Hello,
When there is no content in the element and there never will be, simply identify the element to use TextRangeFormatting instead of ParagraphFormatting. The problem element will then run into the flow of text within the parent element and will not force a new line.
If the element could include text but you still don't want it to display that takes some more work. Here I'm assuming that you need to keep the element in the structure, rather than hide it using conditional text?
The closest we can do is to apply the followings formatting settings which will prevent the item from showing in your output. In this example I've added all of the required settings into a Format Change List called HideElement so that it can be reused elsewhere in the EDD:
Format change list: HideElement
Basic properties
Indents
First indent: 0mm
Left indent: 0mm
Line spacing
Height: 0pt
Paragraph spacing
Space above: 0
Space below: 0
Default font properties
Color: Hidden
Size: 2pt
Stretch: 0%
The colour 'Hidden' is defined to match the background colour of the page, so it's normally white.
You may need to tweak these settings to give the exact results that you need.
Ian
Copy link to clipboard
Copied
Ian makes good points, and judging from your previous post, I think the tiny white font option might be best for you. But also judging from your previous post, I'm guessing you want the element there to fill in later, after the document leaves FM. An XSLT stylesheet could do this, as well as scripting. I just wanted to throw that out there.
If you are concerned about the appearance in FM, it seems that you must be both 1) publishing from FM and 2) exporting XML from FM for some other purpose. And it seems you want the element for #2 but not #1. There are mechanisms to hide unwanted content before publishing from FM. I would not recommend native conditional text, but it is an option, along with a few others.
Russ
Copy link to clipboard
Copied
Not sure but I think the TextRangeFormatting would be the route to go in my case.
You're right Russ -- publishing in framemaker...but need to export an xml that adheres to an outside company's DTD. The outside company's DTD contains many fields that wouldn't appear in our pdf framemaker document.
For whatever reason TextRangeformatting isn't doing the trick.
Elements with TextRangeFormatting are still taking up lines in my framemaker document. I'm expecting in structure view to add the element and it not take up a line in my document.
What I have in my EDD is:
Container
GeneralRule (<ANY> or <TEXT>)
TextFormatRules
AllContextsRule
TextRangeFormatting
TextRange
Must be missing a step somewhere or overlooking soemthing; consulted the framemaker structure guide but it was no help.
Copy link to clipboard
Copied
The next thing to try is careful application of run-in paragraph rules. Without going into every detail the idea is to set the element's EDD rules to look like this:
Element (Container): part
General rule: <EMPTY>
Text format rules
1. In all contexts.
Pagination properties
Placement: Run-in head
Default punctuation:
In the DefaultPunctuation Element just add a single space.
That will make the <part/> element stay on the same line as the following element, but it will still be creating a new line. To avoid that you need to add the run-in head placement option to each element that could precede the <part/> element.
Text format rules
If context is: {before part}
Pagination properties
Placement: Run-in head
Default punctuation:
That should work for any of the possible element contexts. If the element contains no text it will take up no space.