-
Notifications
You must be signed in to change notification settings - Fork 87
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
TD section on schematron constraints needs work #2179
Comments
Thanks, @lb42. I think this is mostly spot-on, and at least 2, 3, 4, & 6 should be addressed toot sweet. (I don’t really see much problematic repetitiveness in 1st 4 paras, and think 5 requires some thought or discussion. And as for namespaces, I think it is a bit worse than you describe, as a TEI customizer does not have to declare the TEI namespace. (It is declared in P5 in the definition of |
@lb42 @sydb and I have already been talking about the question of Schematron with and without |
And, BTW, I completely disagree, and think that best practice would be to use |
Based entirely on my own thoughts setting this to “Go” for (2), (4), and (6); and to “Needs Discussion” for (1) and (5). |
Good point. So <constraintSpec scheme="schematron" ident="child-constraint-based-on-mode">
<constraint>
<sch:rule context="tei:elementSpec[ @mode eq 'delete' ]">
<sch:report test="child::*">This elementSpec element has a mode= of "delete" even though it has child elements. Change the mode= to "add", "change", or "replace", or remove the child elements.</sch:report>
</sch:rule>
<sch:rule context="tei:elementSpec[ @mode = ('add','change','replace') ]">
<sch:assert test="child::* | (@* except (@mode, @ident))">This elementSpec element has a mode= of "<sch:value-of select="@mode"/>", but does not have any child elements or schema-changing attributes. Specify child elements, use validUntil=, predeclare=, ns=, or prefix=, or change the mode= to "delete".</sch:assert>
</sch:rule>
</constraint>
</constraintSpec> |
So, (2) has been done. Looking more carefully at (1), I think the prose is a bit repetitive and does need some attention. Thus I am going to commit some suggestions in the branch to see what other folks think (I am thinking of @ebeshero, @hcayless, and @lb42 here). Hopefully will push that up in a few hours. |
OK, that took longer than expected. See the source file starting at line 844, or see the HTML output. |
I am not sure, but I think this is where we are on this issue:
Note |
Assigning @ebeshero to look up her old ticket that may be related and link iff appropriate. |
See #2369, instead. |
Here are some things thatoccurred to me when re-reading section TDTAGCONS (22.5.2)
[For dispositions as of 2023-11-10 see #issuecomment-1711937223; short notes appended to each point here.]
<constraint>
is optional within it. What does it mean to have a constraintSpec with no constraint? — DONE<constraint>
(an analogy with xslt might help); where is the prefixs:
defined? — deferred to schemaSpec should provide a mechanism for specifing Schematron query language binding #2330<s:rule>
with a@context
: this really needs to be explained more fully (e.g. to explain that most schematron constraints in TEI assume a default context and what that is) — will probably become irrelevant as we will likely require an<sch:rule>
(with a@context
, it is a required attribute) in every Schematron<constraint>
.The text was updated successfully, but these errors were encountered: