• DoctypeDeclaration{http://etl.sf.net/etl/doctype/0.2.1}:
    • systemId: "../grammars/Ecore.g.etl"
  • Package{http://etl.sf.net/2006/samples/ecore/0.1}:
    • annotations:
      • Annotation{http://etl.sf.net/2006/samples/ecore/0.1}:
        • source: "http://eclipse.org/emf/ecore"
        • details:
          • AnnotationDetail{http://etl.sf.net/2006/samples/ecore/0.1}:
            • key: basePackage
            • value: "org.eclipse.example"
          • AnnotationDetail{http://etl.sf.net/2006/samples/ecore/0.1}:
            • key: "nsUri"
            • value: "http://www.eclipse.org/emf/example/school-library"
          • AnnotationDetail{http://etl.sf.net/2006/samples/ecore/0.1}:
            • key: nsPrefix
            • value: "school"
    • name:
      • Identifier{http://etl.sf.net/2006/samples/ecore/0.1}:
        • quotedName: Q'School Library'
    • contents:
      • ImportStatement{http://etl.sf.net/2006/samples/ecore/0.1}:
        • uri: "Library.ecore.etl"
        • name:
          • Identifier{http://etl.sf.net/2006/samples/ecore/0.1}:
            • name: lib
      • With{http://etl.sf.net/2006/samples/ecore/0.1}:
        • name:
          • NamespaceAccessOp{http://etl.sf.net/2006/samples/ecore/0.1}:
            • namespace:
              • Identifier{http://etl.sf.net/2006/samples/ecore/0.1}:
                • name: lib
            • object:
              • Identifier{http://etl.sf.net/2006/samples/ecore/0.1}:
                • name: Library
      • Class{http://etl.sf.net/2006/samples/ecore/0.1}:
        • name:
          • Identifier{http://etl.sf.net/2006/samples/ecore/0.1}:
            • name: Asset
        • contents:
          • Var{http://etl.sf.net/2006/samples/ecore/0.1}:
            • name:
              • Identifier{http://etl.sf.net/2006/samples/ecore/0.1}:
                • name: value
            • type:
              • PrimitiveType{http://etl.sf.net/2006/samples/ecore/0.1}:
                • name: float
      • Class{http://etl.sf.net/2006/samples/ecore/0.1}:
        • documentation:
          • DocumentationLine{http://etl.sf.net/2006/samples/ecore/0.1}:
            • text: /// This class demonstrate referring to class from another model using "with"
        • name:
          • Identifier{http://etl.sf.net/2006/samples/ecore/0.1}:
            • name: SchoolBook
        • supertTypes:
          • Identifier{http://etl.sf.net/2006/samples/ecore/0.1}:
            • name: Book
          • Identifier{http://etl.sf.net/2006/samples/ecore/0.1}:
            • name: Asset
      • Class{http://etl.sf.net/2006/samples/ecore/0.1}:
        • documentation:
          • DocumentationLine{http://etl.sf.net/2006/samples/ecore/0.1}:
            • text: /// This class demonstrate explicit references to objects in other model.
        • name:
          • Identifier{http://etl.sf.net/2006/samples/ecore/0.1}:
            • name: SchoolLibrary
        • supertTypes:
          • NamespaceAccessOp{http://etl.sf.net/2006/samples/ecore/0.1}:
            • namespace:
              • NamespaceAccessOp{http://etl.sf.net/2006/samples/ecore/0.1}:
                • namespace:
                  • Identifier{http://etl.sf.net/2006/samples/ecore/0.1}:
                    • name: lib
                • object:
                  • Identifier{http://etl.sf.net/2006/samples/ecore/0.1}:
                    • name: Library
            • object:
              • Identifier{http://etl.sf.net/2006/samples/ecore/0.1}:
                • name: Library
        • contents:
          • Var{http://etl.sf.net/2006/samples/ecore/0.1}:
            • name:
              • Identifier{http://etl.sf.net/2006/samples/ecore/0.1}:
                • name: location
            • type:
              • PrimitiveType{http://etl.sf.net/2006/samples/ecore/0.1}:
                • name: String
     1: doctype "../grammars/Ecore.g.etl";
     2: 
     3: @["http://eclipse.org/emf/ecore"(basePackage="org.eclipse.example",
     4:         "nsUri"="http://www.eclipse.org/emf/example/school-library",
     5:         nsPrefix="school")]
     6: package Q'School Library' {
     7: 	// This statement imports Library model
     8: 	import "Library.ecore.etl" as lib;
     9: 	// This statement states that names from model imported as lib and package 
    10: 	// Library are available in the current context.
    11: 	with lib::Library;
    12: 	
    13: 	class Asset {
    14: 		var value : float;
    15: 	};
    16: 	
    17: 	/// This class demonstrate referring to class from another model using "with"
    18: 	class SchoolBook extends Book, Asset {
    19: 	};
    20: 	
    21: 	/// This class demonstrate explicit references to objects in other model.
    22: 	class SchoolLibrary extends lib::Library::Library {
    23: 		var location : String;
    24: 	};
    25: };