Closed WeAreAVP closed 13 years ago
The XSD documentation in the XSD states "When genreAuthorityUsed is not used, the default is understoond to be PBCore Genre List," but this isn't in the element declaration or the documentation. Should line 221:
I agree here, especially with the creatorRole (etc) being minOccurs=1. The role is often unknown. Would be a shame for a record not to validate for this reason.
Just noticed the xml in my original post on this thread wasn't properly escaped for html display (fixed now). In thinking of this more and seeing Kara's comment I want to hear more about why [creator|contributor|publisher]role is now minOccurs="1". Was there a use case for this? I agreed with the 1.3 revision where extensionAuthorityUsed was upped to minOccurs="1" (because without the whole pbcoreExtension element became unclear), but why for the creator, contributor and publisher role elements?
in case this helps spot them, Mike Castleman edited the 1.2 schema for pbcorevalidator based on where the internal XSD comments state that an element is required but the actual code claims something else: https://github.com/mlc/pbcorevalidator/commit/b93d070c586b80dfa3b9430c212d80a3804c2bdd
argh, hit comment and close by mistake, please reopen
On line 144, 209, 253 could these fields (subject, genre, relationIdentifier) be minOccurs="1". Currently it's possible to have things like: <pbcoreSubject> <subjectAuthorityUsed>Library of Congress</subjectAuthorityUsed> </pbcoreSubject> which has an unclear meaning, since normally the subjectAuthorityUsed refers to the subject, but in this case subject is optional.
Also on line 367, 402, and 431 I see creatorRole, contributorRole, and publisherRole are all now minOccurs="1" which is new. Earlier in PBCore it was allowable to say <pbcoreContributor> <contributor>Dave</contributor> </pbcoreContributor> Meaning that the role is unknown or there isn't one. Since this change increases the minimal requirements of the user, the documentation should make this clear. Or, since I know there are lots of PBCore records out there without a role this could be reverted to minOccurs="0", seems reasonable to me to keep this optional.