I found something which seemed odd to me about changing the definition
of an attribute class in ODD.

I tried to use classSpec with mode="change" to modify the valList of the class, but I found I also lost the class's
super-classes, unless I specified them again with a "classes" element.

Is this a bug? 


<classSpec ident="" module="tei" mode="change" type="atts">

  the class is already defined to be a
  member of these classes, but if I change the class with my classSpec[@mode='change'],
  then I must also specify the classes again;
  if I omit these classes, then the class
  will lose its membership of any classes
    <memberOf key=""/>
    <memberOf key=""/>

  this is the change I actually want to make -
  to restrict the value of the rend attribute
  <attList mode="change">
    <attDef ident="rend" usage="rwa" mode="change">
        <rng:ref name="data.enumerated"/>
      <valList type="closed" mode="add">
        <valItem ident="b">
        <valItem ident="c">
        <valItem ident="i">
        <valItem ident="lc">
        <valItem ident="sc">
          <gloss>mixed small caps</gloss>
        <valItem ident="lsc">
          <gloss>small caps</gloss>
        <valItem ident="strike">
        <valItem ident="sup">
        <valItem ident="sub">
        <valItem ident="u">
        <valItem ident="block">
          <gloss>whole paragraph justified</gloss>
        <valItem ident="center">
        <valItem ident="hang">
          <gloss>all lines except first indented</gloss>
        <valItem ident="indent">
          <gloss>first line indented</gloss>
        <valItem ident="right">
          <gloss>right justified</gloss>
        <valItem ident="screen">
          <gloss>coloured or shaded background</gloss>