At some level, as far as TeX is concerned, what you type ends up pointing into a font that causes some blob of ink to be printed. This mechanism is used to print a unique mathematical operator, say ‘subset of and not equals’. It is also used to print greek when you seemed to have been typing ASCII!
So, we must accomodate that mechanism, as well. At the stage when character tokens are digested to create boxes in the current font, a font encoding table (a FontMap) is consulted to map the token’s text (viewed as an index into the table) to Unicode. The declaration DeclareFontMap is used to associate a FontMap with an encoding name, or font.
Note that this mapping is only used for text originating from the source document; The text within Constructor’s XML pattern is used without any such font conversion.