С XML DTD это возможно только с использованием сущностей параметров, как объяснил Майкл (ср. спецификация XML ).OTOH, SGML DTD позволяют объявлять списки атрибутов для нескольких элементов в форме, очень близкой к тому, что вы имеете в виду:
<!-- only valid in SGML rather than XML DTDs: -->
<!ATTLIST (elem1|elem2|elem3) myatt CDATA #IMPLIED>
SGML также позволяет группам имен вместо одного имени вдругие объявления разметки.
Кроме того, WebSGML (ISO 8879: 1986 / Cor 2: 1999) также позволяет #ALL
и #IMPLICIT
вместо имени элемента применять объявление ко всем объявленным или подразумеваемым элементам,соответственноОни были включены в WebSGML для представления общих атрибутов XML, таких как xml:base
, xml:lang
и xmlns
(но не xmlns:xyz
).Однако, как и синтаксис группы имен , они не стали частью XML-подмножества SGML.