| <?xml version="1.0" encoding="UTF-8"?> |
| <ecore:EPackage xmi:version="2.0" |
| xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="family" |
| nsURI="http://www.eclipse.org/examples/m2m/qvt/oml/family" nsPrefix="fm"> |
| <eClassifiers xsi:type="ecore:EClass" name="Person" eSuperTypes="#//IFamilyMember"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="firstName" lowerBound="1" |
| eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="lastName" lowerBound="1" |
| eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="gender" eType="#//types/Gender"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" lowerBound="1" eType="#//types/ID"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Parent" eSuperTypes="#//Person"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1" |
| eType="#//Child" eOpposite="#//Child/parents"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Child" eSuperTypes="#//Person"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="parents" upperBound="2" |
| eType="#//Parent" eOpposite="#//Parent/children"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Family"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="members" lowerBound="1" |
| upperBound="-1" eType="#//Person" containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="size" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" |
| changeable="false" derived="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="IFamilyMember" interface="true"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="fullName" lowerBound="1" |
| eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| </eClassifiers> |
| <eSubpackages name="types" nsURI="http://www.eclipse.org/examples/m2m/qvt/oml/family/types" |
| nsPrefix="types"> |
| <eClassifiers xsi:type="ecore:EEnum" name="Gender"> |
| <eLiterals name="MALE" value="1"/> |
| <eLiterals name="FEMALE" value="2"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EDataType" name="ID" instanceClassName="java.lang.Object"/> |
| </eSubpackages> |
| </ecore:EPackage> |