{"action":"created","issue":{"url":"https://api.github.com/repos/mbakeranalecta/sam/issues/8","labels_url":"https://api.github.com/repos/mbakeranalecta/sam/issues/8/labels{/name}","comments_url":"https://api.github.com/repos/mbakeranalecta/sam/issues/8/comments","events_url":"https://api.github.com/repos/mbakeranalecta/sam/issues/8/events","html_url":"https://github.com/mbakeranalecta/sam/issues/8","id":126577654,"number":8,"title":"Scope of IDs","user":{"login":"mbakeranalecta","id":1695653,"avatar_url":"https://avatars.githubusercontent.com/u/1695653?v=3","gravatar_id":"","url":"https://api.github.com/users/mbakeranalecta","html_url":"https://github.com/mbakeranalecta","followers_url":"https://api.github.com/users/mbakeranalecta/followers","following_url":"https://api.github.com/users/mbakeranalecta/following{/other_user}","gists_url":"https://api.github.com/users/mbakeranalecta/gists{/gist_id}","starred_url":"https://api.github.com/users/mbakeranalecta/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbakeranalecta/subscriptions","organizations_url":"https://api.github.com/users/mbakeranalecta/orgs","repos_url":"https://api.github.com/users/mbakeranalecta/repos","events_url":"https://api.github.com/users/mbakeranalecta/events{/privacy}","received_events_url":"https://api.github.com/users/mbakeranalecta/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-01-14T05:02:14Z","updated_at":"2016-01-18T16:14:08Z","closed_at":"2016-01-18T16:14:08Z","body":"What is the appropriate scope for IDs in SAM.\r\n\r\nIn XML, IDs are unique in a document, and global in scope (there is a single id namespace for all elements).\r\n\r\nIn many cases you would like to have identifiers what work across multiple documents and that are scoped to individual elements types. (For instance, fragment or string identifiers)\r\n\r\nIn XML, where you can make up as many attributes as you like, you can have both easily. In SAM, you need to provide for each or decide to live without one of them (or other possible alternatives). \r\n\r\nAlternatively, you can simply pass the problem down the road by doing no checking at the parser. Let scope of IDs be an application level problem.\r\n\r\nThis is probably workable, but we have to consider the idioms. For instance, how do we do footnote references. For footnotes, you have a reference within the current document. Worrying about avoiding duplicate names across a set of files is just annoying. \r\n\r\nSo maybe we need both local ids and global ids with different syntax for each.\r\n\r\nOn the other hand, we could ask which things need global names. Strings and fragments come to mind immediately. But what else? What else that can't simply use a name field? If there is nothing else, then maybe we just need special syntax for strings and fragments. We already have $ for strings. And ~ for fragments. "},"comment":{"url":"https://api.github.com/repos/mbakeranalecta/sam/issues/comments/172573831","html_url":"https://github.com/mbakeranalecta/sam/issues/8#issuecomment-172573831","issue_url":"https://api.github.com/repos/mbakeranalecta/sam/issues/8","id":172573831,"user":{"login":"mbakeranalecta","id":1695653,"avatar_url":"https://avatars.githubusercontent.com/u/1695653?v=3","gravatar_id":"","url":"https://api.github.com/users/mbakeranalecta","html_url":"https://github.com/mbakeranalecta","followers_url":"https://api.github.com/users/mbakeranalecta/followers","following_url":"https://api.github.com/users/mbakeranalecta/following{/other_user}","gists_url":"https://api.github.com/users/mbakeranalecta/gists{/gist_id}","starred_url":"https://api.github.com/users/mbakeranalecta/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbakeranalecta/subscriptions","organizations_url":"https://api.github.com/users/mbakeranalecta/orgs","repos_url":"https://api.github.com/users/mbakeranalecta/repos","events_url":"https://api.github.com/users/mbakeranalecta/events{/privacy}","received_events_url":"https://api.github.com/users/mbakeranalecta/received_events","type":"User","site_admin":false},"created_at":"2016-01-18T16:14:08Z","updated_at":"2016-01-18T16:14:08Z","body":"Decided. IDs are unique in the document and are prefixed by *\r\n\r\nNames are unrestricted in documents and are prefixed by # "}}