有没有办法在我的语法中声明一个全局可用的属性?
也就是说,我希望任何元素都能拥有某个属性。
或者我想定义一个可以具有“id”属性的元素列表。
答案 0 :(得分:1)
问题的示例解决方案:
<?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
。