Re: Assemblies, topics, sections and type
Bob Stayton <[email protected]> Thu, 5 Aug 2021 09:39:35 -0700
| Newsgroups | gmane.text.docbook.misc |
|---|---|
| Message-ID | <[email protected]> |
Hi Thomas, I think a better possibility is to map topic/@type to section/@otherclass (and setting @class="other") during assembly. In DocBook 5.2, the @class attribute is added to section to support legal sections. The @class attribute already exists on the article element, so that would work if you map your topics to articles instead of sections. The topic element does not have an @class attribute, so there is no conflict there. I see @type and @class as semantically equivalent for classifying elements. They differ from @role, which I interpret as applying to a specific instance of an element. So an instance of an element can be a member of a class but also carry a specific role for the given output. The @class and @otherclass mechanism that is used several times in the DocBook schema is a bit awkward, but it is designed to support enumeration of @class, especially through customization of the schema. That enforcement of enumeration during authoring is important in some use cases. Other use cases that don't require such enforcement can use @otherclass in a looser classification scheme. Bob Stayton [email protected] On 8/5/2021 5:00 AM, Thomas Schraitle wrote: > Hi, > > currently, I'm playing around with DocBook assemblies. I've created an > assembly file, referenced some modules and a structure. The modules and > structure is not really important, but the module. The structure > declares to render the <topic> into a <section>. > > The module contains a <topic> element, but I also used a type attribute. > As the TDG says, it "identifies the topic type" I use it to distinguish > between a concept, task, or any other types. IMHO, that's a good fit, right? > > When I start the assembly process with the assembly.xsl stylesheet, the > realized document renders the <topic> element into a <section>. So far, > so good. > > However, as the <topic> contained a type attribute, this attribute is > passed onto the <section> as well. Unfortunately, type is not allowed on > a <section>, so the validation fails. > > I have some possible scenarios: > > a) deal with the removal of type inside the assembly file? > Would <transforms> be feasible for this task? Or should > that be better done outside? > > b) use a post-processing (XSLT) step and remove the annoying > attribute manually? > > c) allow type in <section>? > would require to amend the DocBook schema. > > d) customize assembly.xsl and remove type? > > e) anything else? > > > What would you choose? > > Would like to hear your opinion. Thank you! > > > -- > Gruß/Regards > Thomas Schraitle > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >