[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