An alternative notation of the content model could be written like this:
msIdentifier := block1, block2
block1 := sequence|msname
block2 := altIdentifier|msName*
sequence := placeName? , bloc? , country? , region? , district?,
settlement? , offset? , geogFeat? , institution? , repository ,
collection? , idno?
If you start with <institution>, you use the "sequence" from block1
which also includes <idno>. This completes block1, so you must not use
the alternative <msName> here. block2 consists of <msName> in your
case, which is allowed to appear once or more times (unless you use
<altIdentifier> instead). To me, my suggestion ought to be valid. I
wonder if the validator is confused by the fact that <msName> must not
appear in block1 if you use sequence instead, but does appear as part
of block2 in the very same position.
regards,
Markus
Quoting Patrik Nyman <[log in to unmask]>:
> Markus Hoenicka wrote:
>> If I understand the DTD snippet correctly, the following should work:
>>
>> <msIdentifier>
>> <institution>Kungl. biblioteket</institution>
>> <idno>A 148</idno>
>> <msName>Codex Gigas</msName>
>> </msIdentifier>
>>
>> Note the inverted order of idno and msName.
>
> No, this begets the same error. If I understand the
> snippet correctly you can have first _either_ zero or one of
> <placeName>
> <bloc>
> <country>
> <region>
> <district>
> <settlement>
> <offset>
> <geogFeat>
> <institution>
> <repository>
> <collection>
> <idno>
> _or_ one <msName>, except if you don't have a <msName> you must
> have a <repository>, and then zero or several <altIdentifier> and/or
> <msName>.
>
--
Markus Hoenicka
[log in to unmask]
(Spam-protected email: replace the quadrupeds with "mhoenicka")
http://www.mhoenicka.de
|