Skip to content

Instantly share code, notes, and snippets.

@mmcdaris
Created August 31, 2012 20:17
Show Gist options
  • Save mmcdaris/3558368 to your computer and use it in GitHub Desktop.
Save mmcdaris/3558368 to your computer and use it in GitHub Desktop.
Airbrake XSD schema
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="notice">
<xs:complexType>
<xs:all>
<xs:element name="api-key" type="xs:string"/>
<xs:element name="notifier" type="notifier"/>
<xs:element name="error" type="error"/>
<xs:element name="request" type="request" minOccurs="0"/>
<xs:element name="server-environment" type="serverEnvironment"/>
</xs:all>
<xs:attribute name="version" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:complexType name="notifier">
<xs:all>
<xs:element name="name" type="xs:string"/>
<xs:element name="version" type="xs:string"/>
<xs:element name="url" type="xs:string"/>
</xs:all>
</xs:complexType>
<xs:complexType name="error">
<xs:all>
<xs:element name="class" type="xs:string"/>
<xs:element name="message" type="xs:string" minOccurs="0"/>
<xs:element name="backtrace" type="backtrace"/>
</xs:all>
</xs:complexType>
<xs:complexType name="backtrace">
<xs:sequence>
<xs:element name="line" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="file" type="xs:string" use="required"/>
<xs:attribute name="number" type="xs:string" use="required"/>
<xs:attribute name="method" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="request">
<xs:all>
<xs:element name="url" type="xs:string"/>
<xs:element name="component" type="xs:string"/>
<xs:element name="action" type="xs:string" minOccurs="0"/>
<xs:element name="params" type="varList" minOccurs="0"/>
<xs:element name="session" type="varList" minOccurs="0"/>
<xs:element name="cgi-data" type="varList" minOccurs="0"/>
</xs:all>
</xs:complexType>
<xs:complexType name="varList">
<xs:sequence>
<xs:element name="var" type="var" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="var" mixed="true">
<xs:sequence>
<xs:element name="var" type="var" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="key" type="xs:string" use="required"/>
</xs:complexType>
<xs:complexType name="serverEnvironment">
<xs:sequence>
<xs:element name="project-root" type="xs:string" minOccurs="0"/>
<xs:element name="environment-name" type="xs:string"/>
<xs:element name="app-version" type="xs:string" minOccurs="0"/>
<xs:element name="hostname" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment