Skip to content

attr inherited from class cannot be changed in class #376

Description

@sydb

If an <elementSpec> has both a child <memberOf key="att.typed"/> and a child <attDef ident="type" mode="change"> the right thing happens. If a <classSpec type="atts"> has the same combination of children the build fails with “Duplicate attribute uses with the same name and target namespace are specified. Name of duplicate attribute use is 'type'.”

The following diff output shows what I did to generate the problem.

$ gitdiff Source/Specs/att.textCritical.xml 
diff --git a/P5/Source/Specs/att.textCritical.xml b/P5/Source/Specs/att.textCritical.xml
index ef13c69..5213d92 100644
--- a/P5/Source/Specs/att.textCritical.xml
+++ b/P5/Source/Specs/att.textCritical.xml
@@ -17,0 +18 @@ $Id$
+    <memberOf key="att.typed"/>
@@ -20 +21 @@ $Id$
-    <attDef ident="type" usage="opt">
+    <attDef ident="type" usage="opt" mode="change">
@@ -29 +30 @@ $Id$
-      <valList type="open">
+      <valList type="open" mode="add">

Activity

  1. lb42 commented on May 31, 2019

    @lb42
    Member

    This seems unsurprising. An attribute class is not the same kind of beast as an element. Presumably, attribute class definition has to be resolved before element definition, since the latter uses the former.

  2. added this to the Release 7.57.0 milestone on Nov 20, 2023
  3. ebeshero commented on Jul 7, 2024

    @ebeshero
    Member

    @trishaoconnor I'm just adding me and @raffazizzi to a cluster of these Stylesheets tickets all related to ODD classSpec processing. I'm expecting that maybe we've solved some old problems on these tickets by now and we might just meet and quickly test to see where we are?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

conversion: oddstatus: confirmedE.g., the bug reported has been confirmed by an independant observer.type: bugA bug report.

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions