-
Notifications
You must be signed in to change notification settings - Fork 88
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
recent release seems to have broken some value lists #2597
Comments
After comparing Stylesheets in release 7.56.0 (which work as expected) and 7.57.0 (which does not), I have found that the difference causing the issue is in So there is nothing to blame in the Stylesheets (at least in terms of changes made for the last stable release). What has changed between release 7.56.0 and 7.57.0 that is causing the issue is p5subset. p5subset in 7.56.0 has
While p5subset in 7.57.0 does not have So we either make sure that implicit |
Excellent, thank you @raffazizzi! As for the two proposed solutions, seems to me explicitly adding The good news is that in this case (as far as I can tell) there is no problematic conflict between the declaration of In this case, att.combinable defines the default value of Thus if |
I have taken a look (using [1]), and it seems as though there are 44 cases of missing [1] for path in $(xsel -t -m "//t:attDef[@mode='change'][t:valList[@mode='add']]" -v 'concat("//t:elementSpec[@ident=%", ../../@ident,"%]/t:attList/t:attDef[@ident=%", @ident, "%]/t:valList")' -n Stylesheets_7.56.0/source/p5subset.xml | perl -pe "s,%,',g;") ; do echo "---------$path:" ; xsel -t -m $path -v "@mode" -n Stylesheets_7.57.0/source/p5subset.xml ; done |
Although we may want the Stylesheets to handle this better, the current crisis-fix is to put |
Put mode="add" back on valList elements per #2597.
Fwiw, I just observed similar weird behaviour in an ODD which redefines @type to use a closed valList. With mode='add' , the schema did the right thing, but the doc did not display the legal values. I changed it to mode="replace" and everything seemed to be OK. |
Closed via TEIC/Stylesheets#706 |
A
<valList type="closed">
should generate a controlled list of possible (string) values in the RELAX NG, along with an annotation list of those values (for oXygen or other tool to use as pop-up or other UX), and a “legal values are” list in the documentation.In release 4.8.0 some do not. To convince myself I looked at
@type
of<tag>
in both 4.7.0 documentation vs 4.8.0 documentation and 4.7.0 RNC vs 4.8.0 RNC — obviously current (4.8.0) release is broken for this "closed" list.@type
and@level
of<title>
in both 4.7.0 documentation vs 4.8.0 documentation and 4.7.0 RNC vs 4.8.0 RNC — I was surprised to find it is@type
(an "open" value list) that is missing its values in 4.8.0 documentation, not@level
(a "closed" value list).@status
and@method
of<correction>
in documentation and RNC — seem to be fine, as dopc/@force
andspace/@dim
.So I am very confused about when a value list is being dropped. Might be positional, might be based on presence of
<defaultVal>
, might be something else. But given that, at least in some cases, the output is broken (although not wrong), this strikes me as a relatively urgent issue that may well deserve a patch release. (I have given it the 7.58.0 milestone, as we do not have a 7.57.1 milestone :-)The text was updated successfully, but these errors were encountered: