&
- это специальный символ в XML, обозначающий начало объекта, например, &
для амперсанда - считайте его "макро" -определением.
Если синтаксический анализатор видит это, он пытается заменить его реальным значением ("макроса").
Теперь, чтобы сделать это, ему нужно знать определения, которые могут, например, приходят от DTD или схемы, которая определяет их. Или также из самого XML, который определяет их перед первым использованием.
См. Здесь пример файла XML, который определяет такой объект вверху и использует его позже: https://git.fedorahosted.org/cgit/rhq/rhq.git/tree/modules/plugins/jboss-as-5/src/main/resources/META-INF/rhq-plugin.xml?id=RHQ_4_9_0 - этот объект "managedObjectMetrics" в строке 5 позднее используется в строке 1325 и других. .