Есть ли способ объявить атрибут глобально доступным в моей грамматике?
То есть я хочу, чтобы любой элемент мог иметь определенный атрибут.
В качестве альтернативы я хотел быопределить список элементов, которые могут иметь атрибут «id».
Пример решения вашей проблемы:
<?xml version="1.0" encoding="UTF-8"?> <grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <start> <ref name="testDef"/> </start> <define name="testDef"> <element name="test"> <ref name="commonAttributes"/> </element> </define> <define name="commonAttributes"> <attribute name="id"> <data type="ID"/> </attribute> <attribute name="otherCommonAttr"> <data type="string"/> </attribute> </define> </grammar>
Вы должны объявить ссылку на определение общих атрибутов в каждом элементе, как в элементе test в примере выше.
test