Buildings and rooms are configured in buildings.xml. Building data is in rooms.xml and rooms.csv.
There are three buildings on campus: the Faculty Building, Bestof Hall, and
Sunset Towers. They are loaded into the values collection
(dm:values) whose id is buildings. The
forEach reads all values from the container iterator whose name
is building. When the forEach is done,
buildings has a value for each building. Later, iterators can
be created that get these values from buildings. Building data
is in
buildings.xml and
buildings.csv.
There are two kinds of buildings. The faculty building has offices, and the other two have classrooms. Though they have the same data structure (a building with rooms), they have different data (number of floors and rooms per floor). The Faculty Building has two floors, with ten rooms on each floor. The classroom buildings have three floors, with three rooms per floor.
Office rooms and classrooms are loaded into collections whose ids are
offices and classrooms. Office room names are
generated by the iterator whose id is officeNames. This
iterator adds the two numbers (room number and floor number) generated by a
counter iterator.
Similarly, classroom names are generated by a counter iterator. In contrast
to officeNames, this iterator is embedded in the container
iterator that generates classrooms. The office name and classroom name
iterators both generate values named room_name.