[tei-council] validUntil deprecated, so says Schematron

Sebastian Rahtz sebastian.rahtz at it.ox.ac.uk
Sun Dec 8 10:04:38 EST 2013


On 8 Dec 2013, at 14:35, Syd Bauman <s.bauman at neu.edu> wrote:

> ...
> build problem
> ----- -------
> I haven't checked this in yet, because (of course) building P5 now
> generates (appropriate) error messages, which I suspect Mr. Jenkins
> won't like. Can someone remind me how I tell Mr. Jenkins that these
> messages are OK? (Or is that something he can even understand?)

the key line in the Makefile is

	diff ValidatorLog.xml expected-results/ValidatorLog.xml

so what you do is run locally, which generates a different ValidatorLog.xml,
so this line now fails. Now copy your ValidatorLog.xml file to expected-results
(if you’re happy its correct) and commit that change. next time around,
d.v. the test succeeds

you’ll have spotted that the checking is quite contorted (“validators” stanza in antbuilder.xml).
several Schematron runs are made, which write their output in files; those files are then read
by validator.xsl which looks for the errors or warnings, and does some more tests of its own.

> ……
(your analysis seems correct)

> What does it mean (to an end user, not a schema designer) when an
> attribute class has validUntil=? I lean towards saying it means every
> attribute defined by that class should be flagged. 

yes. it must do, I agree.

> But what about a model class? Certainly @validUntil on a model class
> does not mean that the elements that are members of that class are
> deprecated. But what about elements that refer to said class in their
> content models? *They're* not deprecated, for sure. I lean towards
> saying that what is deprecated here, if anything, is occurrences of
> members of the class in elements that refer to said class.

seems to me that this just doesn’t supply to instance texts. its s sublety
for ODD writers.

> 
> So, e.g., if 
> * A, B, and C are members of class model.noGoodAnymore,
> * D refers to model.noGoodAnymore from its content model, and
> * E refers directly to B in its content model; then
> the Schematron should issue a warning if A, B, or C occur as a child
> of D, but if B occurs as a child of E. This suggestion deliberately
> ignores the possibility that A could occur in the content of F both
> by direct reference and by virtue of a reference to
> model.noGoodAnymore.

I feel that you won’t get anywhere useful with this. it will entirely baffle the user...

> 
> And if a <moduleSpec> has validUntil=, I guess we should flag every
> construct defined within that module.

i suppose so, if it ever happened.

> Flagging a <schemaSpec> with
> validUntil= seems so weird, I'm not sure it makes sense.

I agree :-}

> 
> suggestions
> -----------
> Why is <valDesc> a member of att.deprecated, but <desc> is not? What
> about <gloss>, <defaultVal>, <exemplum>, or <remarks>? 

i really don’t see how we can talk about deprecation of  documentation, so
I’d imagine <valDesc> would come out of the class.
--
Sebastian Rahtz
Director (Research) of Academic IT
University of Oxford IT Services
13 Banbury Road, Oxford OX2 6NN. Phone +44 1865 283431



More information about the tei-council mailing list