Customizing

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified"
 xmlns:xs="http://www.w3.org/2001/XMLSchema">
 <xs:annotation>
 <xs:appinfo>version: 1</xs:appinfo>
 <xs:documentation xml:lang="en">
 Version: 1
 </xs:documentation>
 </xs:annotation>
 <xs:element name="LLVParserConfig">
 <xs:annotation>
 <xs:documentation xml:lang="en">
 The starting point of a log file syntax specification.

 SyntaxSpecificationVersion: the version of the syntax of the lpc file, i.e., the version of this xsd.
 The application might be able to read and migrate older versions.
 Name: the name of the log syntax
 Columns: the columns that are shown in the output
 Parsers: a list of parsers, each parser is sequentially attempted on a log line until one succeeds
 </xs:documentation>
 </xs:annotation>
 <xs:complexType>
 <xs:sequence>
 <xs:element name="SyntaxSpecificationVersion" type="xs:string"/>
 <xs:element name="Name" type="xs:string"/>
 <xs:element name="Columns" type="ColumnsType"/>
 <xs:element name="Parsers" type="ParsersType"/>
 </xs:sequence>
 </xs:complexType>
 </xs:element>
 <xs:complexType name="ColumnsType">
 <xs:annotation>
 <xs:documentation xml:lang="en">
 A list of columns
 </xs:documentation>
 </xs:annotation>
 <xs:sequence>
 <xs:element name="Column" type="ColumnType" maxOccurs="unbounded" minOccurs="1"/>
 </xs:sequence>
 </xs:complexType>
 <xs:complexType name="ColumnType">
 <xs:annotation>
 <xs:documentation xml:lang="en">
 The specification of an output column

 Index: the sequence number of the column
 Header: name to show at the top of the column
 Show: show or hide the column initially
 IncludeInSearch: include the text in the column when a search operation is performed on the log file
 Width: Initial width of the column
 </xs:documentation>
 </xs:annotation>
 <xs:sequence>
 <xs:element name="Index" type="xs:short"/>
 <xs:element name="Header" type="xs:string"/>
 <xs:element name="Show" type="xs:boolean"/>
 <xs:element name="IncludeInSearch" type="xs:boolean"/>
 <xs:element name="Width" type="xs:short"/>
 </xs:sequence>
 </xs:complexType>
 <xs:complexType name="ParsersType">
 <xs:annotation>
 <xs:documentation xml:lang="en">
 A list of parsers. Each parser is tried sequentially on any log line, until one succeeds
 </xs:documentation>
 </xs:annotation>
 <xs:sequence>
 <xs:element name="Parser" type="ParserType" maxOccurs="unbounded" minOccurs="1"/>
 </xs:sequence>
 </xs:complexType>
 <xs:complexType name="ParserType">
 <xs:annotation>
 <xs:documentation xml:lang="en">
 A Parser consists of a list of regular expressions that together match a line from the log

 Description: a description of what this parser does
 ShowParsedLine: indicates whether this line should be shown or hidden if this parser can parse the line
 ParseFragment: a list of ParseFragments, one for each part of a log line of a particular type.
 Note that there can be fewer ParseFragments than Columns
 </xs:documentation>
 </xs:annotation>
 <xs:sequence>
 <xs:element name="Description" type="xs:string" maxOccurs="1" minOccurs="0"/>
 <xs:element name="ShowParsedLine" type="xs:boolean" maxOccurs="1" minOccurs="1"/>
 <xs:element name="ParseFragment" type="ParseFragmentType" maxOccurs="unbounded" minOccurs="1"/>
 </xs:sequence>
 </xs:complexType>
 <xs:complexType name="ParseFragmentType">
 <xs:annotation>
 <xs:documentation xml:lang="en">
 A regular expression matching part of the log line.

 ColumnIndex: the column in which the string will the shown that matches this regex.
 ColumnIndex should be equal to one of the Index numbers in a Column
 However, if "Include" is false, the ColumnIndex will be ignored.
 Regex: a regular expression that matches part of a line from the log.
 Note that this should be a valid regular expression in itself
 Include: indicates if this column contains information that will be shown in the output.
 For example, use false if the Regex matches only whitespace.
 </xs:documentation>
 </xs:annotation>
 <xs:sequence>
 <xs:element name="ColumnIndex" type="xs:short"/>
 <xs:element name="Regex" type="xs:string"/>
 <xs:element name="Include" type="xs:boolean"/>
 </xs:sequence>
 </xs:complexType>

</xs:schema>