Copy link to clipboard
Copied
This should be so simple, yet I fear a dearth of solutions.
I built a big, fat pdf deliverable for a client using structured Frame 9/DITA. They're tickled pink. Now they want, for a difference audience, a book composed of only the tasks. No concepts or reference topics. I'll want to include the "topic" topics because they're what I used for the chapter titles and brief intro blurb. Other than that, just the tasks, ma'am.
My own requirement is that the process must be automated. Manually setting attributes on every topic I want or don't want doesn't cut it. While I don't mind doing some manuaI labor initially, I need a way that the client can generate this book automatically, going forward. It really shouldn't be so hard to just exclude all concepts and ref topics, or to include only topics and tasks. But the only way I can find to do this is by filtering by attribute, which means manually setting attributes every time. Although I haven't gotten very creating with attributes, I don't know of a way you can automatically set a particular attribute value every time the element is used.
Ideas?
Copy link to clipboard
Copied
larose7 wrote:
This should be so simple, yet I fear a dearth of solutions.
I built a big, fat pdf deliverable for a client using structured Frame 9/DITA. They're tickled pink. Now they want, for a difference audience, a book composed of only the tasks. No concepts or reference topics. I'll want to include the "topic" topics because they're what I used for the chapter titles and brief intro blurb. Other than that, just the tasks, ma'am.
My own requirement is that the process must be automated. Manually setting attributes on every topic I want or don't want doesn't cut it. While I don't mind doing some manuaI labor initially, I need a way that the client can generate this book automatically, going forward. It really shouldn't be so hard to just exclude all concepts and ref topics, or to include only topics and tasks. But the only way I can find to do this is by filtering by attribute, which means manually setting attributes every time. Although I haven't gotten very creating with attributes, I don't know of a way you can automatically set a particular attribute value every time the element is used.
Ideas?
I haven't worked with structured FM in a long time, and never did anything with DITA or filtering by attributes, so this might just be a wild shot:
If there's some consistency to the items you want to tag with one or the other condition, you might be able to use a combination of Edit > Copy > Special to copy a condition from a sample to which it's applied, and Find/Replace > By Pasting, to apply the copied condition to found instances of the element you want to conditionalize.
HTH
Regards,
Peter
_______________________
Peter Gold
KnowHow ProServices
Copy link to clipboard
Copied
Larose,
Please have a look at West Street Consulting’s free plug-in AXCM, which allows you to create filters based on XPath expressions. This is far more powerful than just attribute values. Since the filters specify the content that should be visible, it would be something like that:
//*[not(self::concept or self::reference)]
The plug-in walks the element tree and if it finds a <topic> the expression is true, so the topic is kept visible and its content is checked. If it finds a <concept> or <reference> the expression will be false, the element will be hidden without looking at the content.
But probably it is a little more complex. The plug-in comes with a tutorial and you will find it a very important tool in your FrameMaker environment.
http://www.weststreetconsulting.com/
- Michael
Copy link to clipboard
Copied
Although I have not used it to filter by XPath, I highly endorse the AXCM plugin. I use it to filter by attribute, and it works perfectly.
If you decide that XPath filtering does not work for you or too difficult to understand, I echo Peter's post that you can search for a specific element (and/or with a specific attribute) and then replace the attribute value from the replace field. You might be able to minimize the task of setting all those attributes.