(1) To structure mse files into multiple documents.
do we want that? because we will have to uniquely identify the metamodel associated with a model? How do we distinguish versions? because there is a number in the tag?
I am not sure what exactly was meant in this part. The title seems to say something different from the body. Me and Doru have had a small discussion about external files (what I understand from the title) and loading in files which you might need at some point to reference to types etc outside the scope of files. In order for this to work, idref:-s need to be consistent in some way. So we thought of something like: (MSE.File (filename: "....") (id: "...")) which allows you then to ref over files (idref: <fileid>.<objectid>) or local refs: (idref: <objectid>). This is similar to how imports are handled in Python. In order to fix diamond-shaped loadings etc, the absolute filename has to be used inside readers instead of <fileid> to distinguish objects.
@mse ((MSE.File (metamodel 'http://moose.unibe.ch/spec/famix/3.0') (model '@model'))
we had something similar in CDIF and never used it for validation :)
It would be handy however... this would allow us to generate code in case the classes belonging to it are not there yet :)
(... absent = default value (attr ) = default value (attr nil) = nil value (attr "..some..") = some value ...)
ok above defaultValue means nil in Smalltalk?
Default value in smalltalk means what the class puts as default value in "initialize" I guess. This would be the smalltalk variant of what I am currently doing in Python.
Toon