{"action":"created","issue":{"url":"https://api.github.com/repos/energyos/OpenESPI-Common-java/issues/189","labels_url":"https://api.github.com/repos/energyos/OpenESPI-Common-java/issues/189/labels{/name}","comments_url":"https://api.github.com/repos/energyos/OpenESPI-Common-java/issues/189/comments","events_url":"https://api.github.com/repos/energyos/OpenESPI-Common-java/issues/189/events","html_url":"https://github.com/energyos/OpenESPI-Common-java/issues/189","id":50396092,"number":189,"title":"attribute constraint in application_information","user":{"login":"dibyendujana","id":6172492,"avatar_url":"https://avatars.githubusercontent.com/u/6172492?v=3","gravatar_id":"","url":"https://api.github.com/users/dibyendujana","html_url":"https://github.com/dibyendujana","followers_url":"https://api.github.com/users/dibyendujana/followers","following_url":"https://api.github.com/users/dibyendujana/following{/other_user}","gists_url":"https://api.github.com/users/dibyendujana/gists{/gist_id}","starred_url":"https://api.github.com/users/dibyendujana/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dibyendujana/subscriptions","organizations_url":"https://api.github.com/users/dibyendujana/orgs","repos_url":"https://api.github.com/users/dibyendujana/repos","events_url":"https://api.github.com/users/dibyendujana/events{/privacy}","received_events_url":"https://api.github.com/users/dibyendujana/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":17,"created_at":"2014-11-28T18:24:36Z","updated_at":"2015-01-02T18:40:59Z","closed_at":null,"body":"for all attributes of application information have - minOccurs=0 in schema definition and table column definition is Null. Is it intended? or some constraint can be defined for this.\r\n-"},"comment":{"url":"https://api.github.com/repos/energyos/OpenESPI-Common-java/issues/comments/68550247","html_url":"https://github.com/energyos/OpenESPI-Common-java/issues/189#issuecomment-68550247","issue_url":"https://api.github.com/repos/energyos/OpenESPI-Common-java/issues/189","id":68550247,"user":{"login":"MartyBurns","id":1098818,"avatar_url":"https://avatars.githubusercontent.com/u/1098818?v=3","gravatar_id":"","url":"https://api.github.com/users/MartyBurns","html_url":"https://github.com/MartyBurns","followers_url":"https://api.github.com/users/MartyBurns/followers","following_url":"https://api.github.com/users/MartyBurns/following{/other_user}","gists_url":"https://api.github.com/users/MartyBurns/gists{/gist_id}","starred_url":"https://api.github.com/users/MartyBurns/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MartyBurns/subscriptions","organizations_url":"https://api.github.com/users/MartyBurns/orgs","repos_url":"https://api.github.com/users/MartyBurns/repos","events_url":"https://api.github.com/users/MartyBurns/events{/privacy}","received_events_url":"https://api.github.com/users/MartyBurns/received_events","type":"User","site_admin":false},"created_at":"2015-01-02T18:40:59Z","updated_at":"2015-01-02T18:40:59Z","body":"General comments on schema validation:\r\n\r\nThere are many styles of xsd and UML modeling in use in various information exchange domains. The ESPI standard schema was built with all optional fields. So, as we refined the xsd for ApplicationInformation and authorization we kept this model. \r\n\r\nClearly interoperability with all optional fields doesn't mean much. So, where are the actual interoperability agreements and how is it tested?\r\n\r\nIt turns out there are two types of content testing that need to be performed. The first is \"type\" testing where each element that is present is tested for its composition according to its type definition -- this is typically done with schema validation in XML documents.\r\n\r\nThe second is referential testing. That is, if the file has \"this\" it must also have \"that\" or \"that\" must contain a specific value(s). Such testing is not practical with schema validation alone. Hence, additional tools are necessary. Schematron, which is a \"short hand\" xml vocabulary for using the XPath standard query language for XML documents can be used for referential testing. The Green Button certification tests use this method extensively. Additionally, tests can simply verify the presence or absence of a list of required elements.\r\n \r\nWe use schema validation for type and multiplicity validation and use the other tools to go beyond that. This why the required is enforced in the implementation agreement and the test and not in the schema. To find the definitive definitions of interoperability for Green Button, the OpenADE task force is assembling GreenButtonTestPlan and corresponding GreenButtonTestCases.xlsm document (http://www.greenbuttondata.org/library/#testing). \r\n\r\nAdditional documentation hopefully will be made available in the future.\r\n\r\nRecommend this issue be closed.\r\n "}}