= 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: {{{ + topic/ph ui-d/uicontrol vm-d/privilege + topic/ph ui-d/menucascade vm-d/privcascade }}} The text from character.xls is: {{{#!cplusplus }}} == Response == Reviewing the class attributes: {{{ + topic/ph ui-d/uicontrol vm-d/privilege + topic/ph ui-d/menucascade vm-d/privcascade }}} and the XSL code: {{{#!cplusplus ... ... }}} It looks like you maybe wanted to combine these two templates into a single match against ' ui-d/uicontrol '. {{{#!cplusplus }}} 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: {{{#!cplusplus Privilege This topic tests the appearance of the privilege element, a VMware DTD addition. My single priv: My single priv. My priv cascade: FirstPriv secondpriv thirdpriv fourthpriv fifthPriv 6thpriv 7th priv 8th priv 9th priv 10th and final priv

My single priv: My single priv. My priv cascade: FirstPriv secondpriv thirdpriv fourthpriv fifthPriv 6thpriv 7th priv 8th priv 9th priv 10th and final priv

My prereq.

My context. Privs in context. My single priv: My single priv. My priv cascade: FirstPriv secondpriv thirdpriv fourthpriv fifthPriv 6thpriv 7th priv 8th priv 9th priv 10th and final priv

My step. Privs in step My single priv: My single priv. My priv cascade: FirstPriv secondpriv thirdpriv fourthpriv fifthPriv 6thpriv 7th priv 8th priv 9th priv 10th and final priv My substep. Privs in substep. My single priv: My single priv. My priv cascade: FirstPriv secondpriv thirdpriv fourthpriv fifthPriv 6thpriv 7th priv 8th priv 9th priv 10th and final priv substep info. My single priv: My single priv. My priv cascade: FirstPriv secondpriv thirdpriv fourthpriv fifthPriv 6thpriv 7th priv 8th priv 9th priv 10th and final priv substep result. My single priv: My single priv. My priv cascade: FirstPriv secondpriv thirdpriv fourthpriv fifthPriv 6thpriv 7th priv 8th priv 9th priv 10th and final priv step info. My single priv: My single priv. My priv cascade: FirstPriv secondpriv thirdpriv fourthpriv fifthPriv 6thpriv 7th priv 8th priv 9th priv 10th and final priv step example. My single priv: My single priv. My priv cascade: FirstPriv secondpriv thirdpriv fourthpriv fifthPriv 6thpriv 7th priv 8th priv 9th priv 10th and final priv Step result. Privs in step result. My single priv: My single priv. My priv cascade: FirstPriv secondpriv thirdpriv fourthpriv fifthPriv 6thpriv 7th priv 8th priv 9th priv 10th and final priv

My task result. My single priv: My single priv. My priv cascade: FirstPriv secondpriv thirdpriv fourthpriv fifthPriv 6thpriv 7th priv 8th priv 9th priv 10th and final priv

My ExamplePrivs in example. My single priv: My single priv. My priv cascade: FirstPriv secondpriv thirdpriv fourthpriv fifthPriv 6thpriv 7th priv 8th priv 9th priv 10th and final priv

My post req. My single priv: My single priv. My priv cascade: FirstPriv secondpriv thirdpriv fourthpriv fifthPriv 6thpriv 7th priv 8th priv 9th priv 10th and final priv

}}} == Simplified Example XML == Here's the smallest possible example of what we're trying to match against: {{{#!cplusplus

My single priv: My single priv. My priv cascade: FirstPriv secondpriv thirdpriv fourthpriv fifthPriv 6thpriv 7th priv 8th priv 9th priv 10th and final priv

}}} Okay, so reviewing the class definition: {{{ + topic/ph ui-d/uicontrol vm-d/privilege }}} 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 '''''' segments for these different class types.