Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Using Reference instead of Definition and Prototype elements #100

Open
tclose opened this issue May 18, 2015 · 0 comments
Open

Using Reference instead of Definition and Prototype elements #100

tclose opened this issue May 18, 2015 · 0 comments

Comments

@tclose
Copy link
Contributor

tclose commented May 18, 2015

In coming up with a name for the element to reference the Structure and Property Layers from the State Layer analogous to Definition in the Structure Layer (I was thinking of things like Instance), I thought that perhaps we could simplify it to just use Reference for any sort of reference to another object and drop the Definition and Prototype elements. e.g.

<DynamicsProperties name="IzhikevichBursting">
  <Reference url="http://nineml.net/catalog/2.0/izhikevich2003.xml">Izhikevich2003</Reference>
  ...
</DynamicsProperties>

since it doesn't really matter at this stage whether Izhikevich2003 is an abstraction layer Dynamics definition or another DynamicsProperties object. It could also simplify the parsing a little I think if you only have one lookup mechanism to handle.

One side effect of this would also open up the possibility of nesting abstraction layer definitions inside Structure/Property Layer objects e.g.

<DynamicsProperties name="IzhikevichBursting">
  <Dynamics>
    <Parameter name="a" dimension="voltage"/>
    ...
  </Dynamics>
  ...
</DynamicsProperties>

although I am not sure whether this is desirable or not.

Finally, in a small stylistic change (that I can take or leave) I was thinking that instead of referring to the name of the object in the body of the Reference element, it would fit better with non-XML representations that don't have a concept of a body to move the name to an attribute of the reference, e.g.

<Reference name="Izhikevich2003" url="http://nineml.net/catalog/2.0/izhikevich2003.xml"/>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant