{"action":"created","issue":{"url":"https://api.github.com/repos/music-encoding/music-encoding/issues/239","labels_url":"https://api.github.com/repos/music-encoding/music-encoding/issues/239/labels{/name}","comments_url":"https://api.github.com/repos/music-encoding/music-encoding/issues/239/comments","events_url":"https://api.github.com/repos/music-encoding/music-encoding/issues/239/events","html_url":"https://github.com/music-encoding/music-encoding/pull/239","id":91264037,"number":239,"title":"Fixing ODD validity","user":{"login":"raffazizzi","id":144770,"avatar_url":"https://avatars.githubusercontent.com/u/144770?v=3","gravatar_id":"","url":"https://api.github.com/users/raffazizzi","html_url":"https://github.com/raffazizzi","followers_url":"https://api.github.com/users/raffazizzi/followers","following_url":"https://api.github.com/users/raffazizzi/following{/other_user}","gists_url":"https://api.github.com/users/raffazizzi/gists{/gist_id}","starred_url":"https://api.github.com/users/raffazizzi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/raffazizzi/subscriptions","organizations_url":"https://api.github.com/users/raffazizzi/orgs","repos_url":"https://api.github.com/users/raffazizzi/repos","events_url":"https://api.github.com/users/raffazizzi/events{/privacy}","received_events_url":"https://api.github.com/users/raffazizzi/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/music-encoding/music-encoding/labels/Component:%20Core%20Schema","name":"Component: Core Schema","color":"c7def8"},{"url":"https://api.github.com/repos/music-encoding/music-encoding/labels/Priority:%20Medium","name":"Priority: Medium","color":"fbca04"},{"url":"https://api.github.com/repos/music-encoding/music-encoding/labels/Status:%20Needs%20Work","name":"Status: Needs Work","color":"eb6420"},{"url":"https://api.github.com/repos/music-encoding/music-encoding/labels/Type:%20Bug","name":"Type: Bug","color":"5319e7"}],"state":"open","locked":false,"assignee":{"login":"ahankinson","id":163183,"avatar_url":"https://avatars.githubusercontent.com/u/163183?v=3","gravatar_id":"","url":"https://api.github.com/users/ahankinson","html_url":"https://github.com/ahankinson","followers_url":"https://api.github.com/users/ahankinson/followers","following_url":"https://api.github.com/users/ahankinson/following{/other_user}","gists_url":"https://api.github.com/users/ahankinson/gists{/gist_id}","starred_url":"https://api.github.com/users/ahankinson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ahankinson/subscriptions","organizations_url":"https://api.github.com/users/ahankinson/orgs","repos_url":"https://api.github.com/users/ahankinson/repos","events_url":"https://api.github.com/users/ahankinson/events{/privacy}","received_events_url":"https://api.github.com/users/ahankinson/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/music-encoding/music-encoding/milestones/5","html_url":"https://github.com/music-encoding/music-encoding/milestones/MEI%202015","labels_url":"https://api.github.com/repos/music-encoding/music-encoding/milestones/5/labels","id":1183824,"number":5,"title":"MEI 2015","description":"","creator":{"login":"ahankinson","id":163183,"avatar_url":"https://avatars.githubusercontent.com/u/163183?v=3","gravatar_id":"","url":"https://api.github.com/users/ahankinson","html_url":"https://github.com/ahankinson","followers_url":"https://api.github.com/users/ahankinson/followers","following_url":"https://api.github.com/users/ahankinson/following{/other_user}","gists_url":"https://api.github.com/users/ahankinson/gists{/gist_id}","starred_url":"https://api.github.com/users/ahankinson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ahankinson/subscriptions","organizations_url":"https://api.github.com/users/ahankinson/orgs","repos_url":"https://api.github.com/users/ahankinson/repos","events_url":"https://api.github.com/users/ahankinson/events{/privacy}","received_events_url":"https://api.github.com/users/ahankinson/received_events","type":"User","site_admin":false},"open_issues":4,"closed_issues":0,"state":"open","created_at":"2015-06-27T19:26:47Z","updated_at":"2015-06-28T03:32:55Z","due_on":"2015-08-01T04:00:00Z","closed_at":null},"comments":22,"created_at":"2015-06-26T14:23:43Z","updated_at":"2015-06-30T19:20:05Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/music-encoding/music-encoding/pulls/239","html_url":"https://github.com/music-encoding/music-encoding/pull/239","diff_url":"https://github.com/music-encoding/music-encoding/pull/239.diff","patch_url":"https://github.com/music-encoding/music-encoding/pull/239.patch"},"body":"This PR introduces changes to the ODD to make it valid against the current TEI ODDs schema. Some of the changes are substantial, but the resulting schema will have only one real change (which itself is a fix, see below).\r\n\r\n## Changes with *no consequences* for the schema:\r\n* associated latest ODD schema served directly from TEI servers instead of local copy. The URL always points to latest stable release of the schema, so that we know right away if we need to make changes for validity.\r\n* `attDef` elements defining attributes with semiclosed lists were not valid against a schematron check that imposes either a datatype or a closed list. This was fixed by adding a generic \"string\" datatype.\r\n* `attDef` elements  defining attributes without any datatype are not valid, so I added a generic \"string\" datatype. NB a lot of these need to be improved! Either with a token datatype (eg like `data.word` in TEI), or a more specific one, but this is for another bug fix / enhancement.\r\n* datatype macros for shared attribute values (such as `data.ARTICULATION`) where defined with  `rng:choice`, which is fine, but the RNG documentation element (in a different namespace) is not allowed by the TEI schema. I replaced this with `tei:valList`, which is an element used specifically for describing attribute values. This is a more semantic element than `rng:choice` and allows using the same `tei:desc` element that is used for documentation elsewhere. This is a major change in the ODD, but it has no consequences for the schema.\r\n\r\n## Change *with consequences* for the schema (a FIX):\r\n\r\n\"One-or-more-value\" datatypes are currently defined as separate datatypes. For example `data.SLURS` is defined with an `rng:content` of `rng:oneOrMore` occurrences of `data.SLUR`. This is not processed by Roma and currently these datatypes are broken in the schema generation. The change proposed here follows common practice in the TEI schema:\r\n* only define single datatypes\r\n* when specifying the datatype of an attribute, use `tei:datatype[@maxOccurs='unbounded']`.\r\nThis means that \"one-or-more-value\" datatypes are not necessary and are therefore *removed* in this PR. \r\n\r\nNow Roma processes the datatypes correctly and multiple values are allowed by the schema as originally intended.\r\n\r\nNB Removing \"one-or-more-value\" datatypes (such as `data.SLURS`, `data.TIES`, `data.URLS` and many more) means that they will not be listed in the datatypes documentation of the guidelines, and will result in a change to the HTML and PDF guidelines. In my opinion this should not be too alarming unless known MEI customizations have been calling these datatypes directly, in which case they should switch to \"single\" datatypes with `tei:datatype[@maxOccurs='unbounded']`. A notification to MEI-L should be sufficient in my opinion.\r\n"},"comment":{"url":"https://api.github.com/repos/music-encoding/music-encoding/issues/comments/117311683","html_url":"https://github.com/music-encoding/music-encoding/pull/239#issuecomment-117311683","issue_url":"https://api.github.com/repos/music-encoding/music-encoding/issues/239","id":117311683,"user":{"login":"pe-ro","id":5712877,"avatar_url":"https://avatars.githubusercontent.com/u/5712877?v=3","gravatar_id":"","url":"https://api.github.com/users/pe-ro","html_url":"https://github.com/pe-ro","followers_url":"https://api.github.com/users/pe-ro/followers","following_url":"https://api.github.com/users/pe-ro/following{/other_user}","gists_url":"https://api.github.com/users/pe-ro/gists{/gist_id}","starred_url":"https://api.github.com/users/pe-ro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pe-ro/subscriptions","organizations_url":"https://api.github.com/users/pe-ro/orgs","repos_url":"https://api.github.com/users/pe-ro/repos","events_url":"https://api.github.com/users/pe-ro/events{/privacy}","received_events_url":"https://api.github.com/users/pe-ro/received_events","type":"User","site_admin":false},"created_at":"2015-06-30T19:20:05Z","updated_at":"2015-06-30T19:20:05Z","body":"I’m working through all the datatypes now.  I’ll send you the file ASAP.  I think we only need to change those places where we use <a:documentation>.  In all other cases, <rng:data type=”whatever”> works fine.\r\n\r\n\r\nFrom: Raffaele Viglianti [mailto:notifications@github.com]\r\nSent: Tuesday, June 30, 2015 3:06 PM\r\nTo: music-encoding/music-encoding\r\nCc: pe-ro\r\nSubject: Re: [music-encoding] Fixing ODD validity (#239)\r\n\r\n\r\nOk :) I'll add nmtoken to the datatypes and leave string elsewhere, then.\r\n\r\n—\r\nReply to this email directly or view it on GitHub<https://github.com/music-encoding/music-encoding/pull/239#issuecomment-117306921>.\r\n"}}