def writeElement(element)
tag = @namespacePrefix + element.class.ecore.name
attrs = attributeValues(element)
startTag(tag, attrs)
containmentReferences(element).each do |r|
roletag = @namespacePrefix + r.eContainingClass.name + "." + r.name
targets = element.getGeneric(r.name)
targets = [ targets ] unless targets.is_a?(Array)
targets.compact!
next if targets.empty?
startTag(roletag)
targets.each do |t|
if xmiLevel(t) == :content
@contentLevelElements << t
else
writeElement(t)
end
end
endTag(roletag)
end
endTag(tag)
end