Hi Michael, Sorry, I should have given an example: Suppose there is a daily or weekly report, which includes a database query of birthday(s) for that report period. If so, the birthday-relevant text or table is included, with the specific birthdays; otherwise, no such text or table.
So the generalization is that you have a class -- say, birthdays -- and the test is whether you have any instances of that class for the period (or other domain) of interest. Writer makes it easy to conditionally hide or reveal a section of text, but not (AFAIK) to include as a condition whether a field is instantiated or empty. The example you give is extremely interesting. I would not have thought of it, if only because it requires coordination of Calc and Writer [which I have not thought about how to do]. But the biggest essential difference is one that you identify -- keeping the 'conditions' outside the document itself -- where my initial premise was (and I think remains) to use Writer's conditional-text features within the Writer document. Your example is a great one to study (and to think about how you coordinate Calc and Writer), but I think that Writer alone can do this job [as WordPerfect does] if there is a way to implement the condition that a field is either empty or filled/instantiated. Moreover, that approach (rather than keeping the conditional text outside the document) allows the use of Writer's rich conditional-text features. The one feature that I'm trying to reproduce is WordPerfect's ability to test whether any field of merged data is empty or instantiated, and use that test to conditionally hide or reveal a section of text. Thanks for your reply, John On 2021-01-01 10:39, Michael H wrote:
I'm not sure what your use case is... (there's not much in your question about what you are trying to do) ...so I may be in the wrong postal code with this suggestion. I'm using mail merge, and I keep all 'conditions' outside the document itself. I studied the Opendocument elements and I've decided that conditional text in LibreOffice Writer is basically a doppleganger from Opendocument 1.0 that made it into the spec, but had no functionality. So, all text that could be "hidden" now is kept in the database that I use for the merge (which is a registered Calc spreadsheet). And I can build my own if statements there in new titled columns easily. In Calc: Column A contains book title Column J contains number of pages in the work. Column Z (contains paper thickness imported from a query in the calc spreadsheet) Column ZA contains the SpineText with the calculation: (IF(J*Z>.25,A2,"") While the spine text here is short, I keep the entire back cover copy (up to 5 paragraphs) in the same database, each paragraph in a separate cell (for convenience of editing, and to make the resulting LO Writer file more easily deal with.) I have no conditions on that back cover text but the same method could also apply to entire paragraphs. Each point where a style change is required, you'll need a separate cell. This method is limited to primary text stream, and header and footer text on each page. That is, I haven't been able to "merge" into adhoc text boxes In LibreWriter, only into the primary stream and header footer text. I have been able to shift the footer text outside the defined box to anywhere on the page, but that limits to 1 (or 2) out of stream boxes per page, and the text can't be rotated or shaped. On Fri, Jan 1, 2021 at 8:56 AM John Kaufmann wrote:WordPerfect has a very useful condition for conditional text that must be possible in Writer, but I have not figured out how to implement: How to hide a block or section of text (or frame/figure/table/etc) unless one or more instances of a class (to which that text pertains) exist. Is there a way of expressing the condition "If: a field {IS|IS NOT} BLANK" that can be used in the condition to hide or expose relevant text?
-- To unsubscribe e-mail to: [email protected] Problems? https://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/ Posting guidelines + more: https://wiki.documentfoundation.org/Netiquette List archive: https://listarchives.libreoffice.org/global/users/ Privacy Policy: https://www.documentfoundation.org/privacy
