WGBH / PBCore2.0

Public Broadcasting Metadata Dictionary Project
http://www.pbcore.org
32 stars 9 forks source link

Few minor semantics issues in use of minOccurs. #37

Closed WeAreAVP closed 13 years ago

WeAreAVP commented 13 years ago

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.

WeAreAVP commented 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:

be (other whatever the formal name for that authority is)
kvanmalssen commented 13 years ago

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.

WeAreAVP commented 13 years ago

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?

WeAreAVP commented 13 years ago

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

WeAreAVP commented 13 years ago

argh, hit comment and close by mistake, please reopen