Community
Participate
Working Groups
Build Identifier: Currently, it seems that there is no way to add new attributes to groups when changing existing groups from a CSPEX. The following XML snippet from a CSPEX is currently not valid, but I hope it clarifies what I am trying to do. <alterGroups> <public name="some.existing.group"> <alterAttribute name="some.existing.attribute" filter="(something=true)"/> <attribute name="some.new.attribute" /> </public> </alterGroups Adding the "some.new.attribute" to "some.existing.group" will not work this way. Is there any other way to accomplish this? If not, please add this feature. Reproducible: Always
(In reply to comment #0) Answering to my own issue: The following indeed does not work: > <alterGroups> > <public name="some.existing.group"> > <alterAttribute name="some.existing.attribute" filter="(something=true)"/> > <attribute name="some.new.attribute" /> > </public> > </alterGroups However, changing the order of alterAttribute and attribute will do the job: > <alterGroups> > <public name="some.existing.group"> > <attribute name="some.new.attribute" /> > <alterAttribute name="some.existing.attribute" filter="(something=true)"/> > </public> > </alterGroups This is not really clear when reading the documentation. So instead, please improve the documentation in this respect. (Also changing the title of this issue.)
moved the issue to documentation
I added a note in the documentation, and referenced this bug (will appear in the documentation revision following 0.8). I think this is more than a documentation issue - seems odd that the order is significant, and that it silently ignores adding attributes. Moving this to be a non documentation issue.
This is per design. The XML stipulates the order in which the elements must be added and since the XML inheritance (alterGroups is inherited from groups) doesn't allow adding to an unordered set of elements, the alterAttribute elements must come after the attribute elements. There's a misunderstanding regarding "silent ignore". Nothing is ignored. Putting things in the wrong order yields a parse error.