Скажем, у меня есть этот XML
<doc:document>
<objects>
<circle radius="10" doc:colour="red" />
<circle radius="20" doc:colour="blue" />
</objects>
</doc:document>
И вот как он анализируется (псевдокод):
// class DocumentParser
public Document parse(Element edoc) {
doc = new Document();
doc.objects = ObjectsParser.parse(edoc.getChild("objects"));
for ( ...?... ) {
doc.objectColours.put(object, colour);
}
return doc;
}
ObjectsParser
отвечает за синтаксический анализ объектов, ноне является и не должен знать о существовании документов.Однако в Document
цвета ассоциируются с объектами с помощью Map
.
. Какой тип рисунка вы бы порекомендовали вернуть настройкам цвета DocumentParser.parse
из ObjectsParser.parse
, чтобы они могли ассоциироватьсяэто с объектами, к которым они принадлежат на карте?
Альтернативой может быть что-то вроде этого:
<doc:document>
<objects>
<circle id="1938" radius="10" />
<circle id="6398" radius="20" />
</objects>
<doc:objectViewSettings>
<doc:objectViewSetting object="1938" colour="red" />
<doc:objectViewSetting object="6398" colour="blue" />
</doc:objectViewSettings>
</doc:document>
Гадкий!