1fbed8e98f
This is so that this schema can be used to validate module markup (such as https://github.com/boostorg/functional/blob/develop/meta/explicit-failures-markup.xml). An alternative solution would be to have a separate schema file for submodules, espcially if the reporting scripts require these elements to be present.
100 lines
3.7 KiB
XML
100 lines
3.7 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
|
|
|
|
<xs:element name="explicit-failures-markup">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element ref="mark-toolset" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xs:element ref="library" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xs:element ref="note" minOccurs="0" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="mark-toolset">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="title" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="description" type="xs:string" minOccurs="0"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="name" type="xs:string" use="required"/>
|
|
<xs:attribute name="status" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="library">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element ref="mark-unusable" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xs:sequence>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element ref="test"/>
|
|
<xs:element ref="mark-expected-failures"/>
|
|
</xs:choice>
|
|
</xs:sequence>
|
|
</xs:sequence>
|
|
<xs:attribute name="name" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="mark-unusable">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element ref="toolset" maxOccurs="unbounded"/>
|
|
<xs:element ref="note" minOccurs="0" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="test">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element ref="mark-failure" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xs:element ref="toolset" minOccurs="0"/>
|
|
<xs:element ref="note" minOccurs="0"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="name" type="xs:string" use="required"/>
|
|
<xs:attribute name="category" type="xs:string"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="mark-expected-failures">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element ref="test" maxOccurs="unbounded"/>
|
|
<xs:element ref="toolset" maxOccurs="unbounded"/>
|
|
<xs:element ref="note"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="reason" type="xs:string"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="mark-failure">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element ref="toolset" maxOccurs="unbounded"/>
|
|
<xs:element ref="note" minOccurs="0" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="note">
|
|
<xs:complexType mixed="true">
|
|
<xs:sequence>
|
|
<xs:any processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="refid" type="xs:string"/>
|
|
<xs:attribute name="author" type="xs:string"/>
|
|
<xs:attribute name="date" type="xs:string"/>
|
|
<xs:attribute name="id" type="xs:string"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="toolset">
|
|
<xs:complexType>
|
|
<xs:attribute name="name" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:schema>
|