TEIC / Stylesheets

TEI XSL Stylesheets
238 stars 126 forks source link

attr inherited from class cannot be changed in class #376

Open sydb opened 5 years ago

sydb commented 5 years ago

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">
lb42 commented 5 years ago

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.

ebeshero commented 4 months ago

@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?