[tei-council] Default values in valList

Martin Holmes mholmes at uvic.ca
Fri Jul 6 13:41:25 EDT 2012


I have a question about the creation of RNG schemas from ODD files. I 
have a situation in which I want to specify a closed list of values for 
an attribute, but without a default value. If I specify any kind of list 
(closed or semi), Roma generates the RNG schema with the first value set 
as default.

This is a problem because it makes it impossible to do any kind of 
Schematron check to see if the attribute exists; it appears that where 
the attribute is specified in the RNG schema as having a default value, 
a Schematron assertion like this:

<assert test="@status">

will not fire. If I manually delete the default value setting from the 
generated RNG file, then the Schematron constraint DOES fire, but I 
often regenerate my schemas from my ODD file, so I'd need to remember to 
go in and delete that default value every time.

This is all a surprise to me, because I had not suspected that 
Schematron referred to the RNG file at all, but it seems to; it appears 
to test its assertions against the XML file as expanded with default 
attribute values based on the RNG schema.

Has anyone come across this? Is it meaningful to have a closed value 
list with no default value? (RNG seems to allow it.) Should Roma force a 
default value on the schema even though none has been specified?

Cheers,
Martin

-- 
Martin Holmes
University of Victoria Humanities Computing and Media Centre
(mholmes at uvic.ca)



More information about the tei-council mailing list