How do I alter the DITA menucascade separator for a custom element?>

Description

We have added two custom elements to our DITA DTDS, privcascade, based on menucascade, and privilege, based on uicontrol. We want the privcascades to have a period as a separator, whereas menucascade uses the > separator.

I added text to character.xsl to process the privcascades, but they keep coming out with whatever separator is specified for menucascade. I can change the separator for menucascade in the character.xsl file, so I think this is the file that controls this behavior.

Any ideas how to get WebWorks to apply a different separator for privcascades?

Details

The class attributes are as follows:

The text from character.xls is:

Response

Reviewing the class attributes:

and the XSL code:

It looks like you maybe wanted to combine these two templates into a single match against ' ui-d/uicontrol '.

This is going to be very sensitive to your input DITA document structure. Can you provide an example source snippet?

Example XML

Example XML from Teresa:

Simplified Example XML

Here's the smallest possible example of what we're trying to match against:

Okay, so reviewing the class definition:

and the match expressions:

This is occurring because XSL is giving priority to the last match with the same priority. In this case, these two match expressions have the same "complexity", so they receive the same match priority. From there, the last match wins.

So, you can either move your ' vm-d/privilege ' match after your ' ui-d/uicontrol ' match or set explicit priority attributes on the match templates.

Aside

This problem can also be solved/addressed in the default.wwconfig by using similar match expressions and emitting <wwdoc:Number> segments for these different class types.

DevCenter/Projects/Dita/Numbering (last edited 2008-12-09 00:23:59 by BenAllums)