Hi everyone,
This is a follow-up to our discussion early in June, about the new outputclass attribute in DITAVAL documents.
While a relatively simple feature (implementation-wise), this has been one of the most confusing new DITA 2.0 features for a lot of people. While discussing the feature at our June 3 meeting, I suggested changing the name of the attribute, in order to help make the feature easier to understand.
As a reminder, the outputclass attribute was added to DITAVAL as part of a proposal to allow for more complex flagging. It was never intended to match values within the outputclass attribute for DITA source, but that's often how the new feature was interpreted. Instead, it was meant to add an additional flag behavior, on top of what was already available. When a DITAVAL behavior is set to flag, and you match an existing property – such as platform="unix" – this feature will add your specified outputclass value to the outputclass attribute on the element. Many processors make use of outputclass for CSS based styling, so this change gives them the full range of CSS based styling as part of DITAVAL flagging.
As an overly simplistic example, if your DITAVAL has a rule with outputclass="unixStyle", and it matches the following element:
<p platform="unix">Paragraph about unix behaviors...</p>
The flagging behavior instructs processors to add the outputclass to that element, effectively creating:
<p platform="unix" outputclass="unixStyle">Paragraph about unix behaviors...</p>
To help make this behavior clearer to everyone, the consensus at our June 3 meeting was that within the DITAVAL document, we should change the name of this attribute from "outputclass" to "add-outputclass". The hope is that this makes the behavior clearer: we are not matching the outputclass value in your documents, instead this is a flagging behavior that will add the outputclass token to matching elements. I'm sending this email to make the proposal more formal, so that we can move ahead with the changes.
This should have minimal impact on the DITA 2.0 draft; it involves a small change to grammar and examples. Per discussion at the TC, we already need to add more information about how to use this new feature into the DITAVAL architectural specification, so that content can be written with this change in mind.
Thanks,
Robert