Hi Paul, Am Dienstag, 18. Oktober 2016, 20:38:00 schrieb Paul Hoadley: > > What is the state of the art for small text substitutions (basically just > domain-specific terms) that can also be varied via the profiling machinery? > I have an application that can run as more than one “product”, and each > product shows domain-specific variations in labels, for example, in the > user interface. There might be a generic term for some object “Foo”, but > Application A will call this a “Bar”, and Application B calls it a “Baz”. > What I want to be able to do is refer to a “Foo” throughout the source, but > substitute “Bar” for App A’s output, and “Baz” for App B’s. What’s the best > way to achieve this?
This sounds like profiling in combination with entities. You could define your foo entity like this: <!ENTITY foo "<phrase><phrase os='a'>Bar</phrase><phrase os='b'>Baz</phrase></phrase>"> The <phrase> element is quite neutral and is allowed where inline elements are also allowed. When you have this "foo" entity, you can refer to it throughout your document as &foo;. Of course, you need to set the profiling attribute os accordingly to filter it for application A or B. We use it for different product names and numbers which applies the same approach. It works great. Keep in mind, this approach relies on a "side effect": it depends on phrase being allowed in all contexts. This is not always the case. For example, you cannot use &foo; inside attribute values. Or, if you have customized the DocBook schema and you don't allow phrase in, let's say, a title. That won't work as you will get validation errors. Apart from this, I think you will be happy with this approach. ;-)) -- Gruß/Regards Thomas Schraitle --------------------------------------------------------------------- To unsubscribe, e-mail: docbook-apps-unsubscr...@lists.oasis-open.org For additional commands, e-mail: docbook-apps-h...@lists.oasis-open.org