And there is a connection between Architectural Forms and XSD's Abstract Types and Schematron's Abstract Rules+properties, in that they are all kinda macro facilities for structural constraints and infoset augmentation. Squint a bit, but architectures are far from entirely dead. (I think DITAs use of "architecture" is fairly deliberate, too.)
One key design issue is whether the form is reified so that knowledge (that some object or constraint belongs to some AF or abstract rule or abstract type) of name is available information at compile- or run- time (which is why macros were replaced by classes in most programming languages). And available to make decisions.
Another design issue is whether you want this architectural information to be merged with the document (XSD's PSVI) or sit as a layer on top (e.g as external document pointing in, like Schematron's SVRL).
Rick