Log Policy Schema File

See the following log policy schema (XSD):

<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">  <xs:element name="LogPolicies">    <xs:complexType>      <xs:sequence>        <xs:element name="LogPolicy" maxOccurs="unbounded" minOccurs="0">          <xs:complexType>            <xs:sequence>              <xs:element type="xs:string" name="Name"/>              <xs:element type="xs:string" name="Format"/>              <xs:element name="MaskPolicy">                <xs:complexType>                  <xs:sequence>                    <xs:element type="xs:string" name="MaskChar"/>                    <xs:element name="MaskHeader">                      <xs:complexType>                        <xs:sequence>                          <xs:element type="xs:string" name="HeaderName" maxOccurs="unbounded" minOccurs="0"/>                        </xs:sequence>                      </xs:complexType>                    </xs:element>                    <xs:element name="MaskQueryString">                      <xs:complexType>                        <xs:sequence>                          <xs:element name="Parameters">                            <xs:complexType>                              <xs:sequence>                                <xs:element type="xs:string" name="ParamName" maxOccurs="unbounded" minOccurs="0"/>                              </xs:sequence>                            </xs:complexType>                          </xs:element>                        </xs:sequence>                      </xs:complexType>                    </xs:element>                    <xs:element name="XMLMaskFields">                      <xs:complexType>                        <xs:sequence>                          <xs:element name="XMLMaskField" maxOccurs="unbounded" minOccurs="0">                            <xs:complexType>                              <xs:sequence>                                <xs:element type="xs:string" name="MaskFieldPath"/>                                <xs:element type="xs:string" name="RemoveField"/>                                <xs:element type="xs:string" name="StartIndex"/>                                <xs:element type="xs:string" name="EndIndex"/>                                <xs:element type="xs:string" name="LengthOfClearAtStart"/>                                <xs:element type="xs:string" name="LengthOfClearAtEnd"/>                              </xs:sequence>                            </xs:complexType>                          </xs:element>                        </xs:sequence>                      </xs:complexType>                    </xs:element>                    <xs:element name="JSONMaskFields">                      <xs:complexType>                        <xs:sequence>                          <xs:element name="JSONMaskField" maxOccurs="unbounded" minOccurs="0">                            <xs:complexType>                              <xs:sequence>                                <xs:element type="xs:string" name="MaskFieldPath"/>                                <xs:element type="xs:string" name="RemoveField"/>                                <xs:element type="xs:string" name="StartIndex"/>                                <xs:element type="xs:string" name="EndIndex"/>                                <xs:element type="xs:string" name="LengthOfClearAtStart"/>                                <xs:element type="xs:string" name="LengthOfClearAtEnd"/>                              </xs:sequence>                            </xs:complexType>                          </xs:element>                        </xs:sequence>                      </xs:complexType>                    </xs:element>                    <xs:element name="TextPayLoadMask">                      <xs:complexType>                        <xs:sequence>                          <xs:element name="MaskText" maxOccurs="unbounded" minOccurs="0">                            <xs:complexType>                              <xs:sequence>                                <xs:element type="xs:string" name="LineNumber"/>                                <xs:element type="xs:string" name="StartsWith"/>                                <xs:element type="xs:string" name="Regex"/>                                <xs:element type="xs:string" name="StartIndex"/>                                <xs:element type="xs:string" name="EndIndex"/>                                <xs:element type="xs:string" name="LengthOfClearAtStart"/>                                <xs:element type="xs:string" name="LengthOfClearAtEnd"/>                              </xs:sequence>                            </xs:complexType>                          </xs:element>                        </xs:sequence>                      </xs:complexType>                    </xs:element>                  </xs:sequence>                </xs:complexType>              </xs:element>              <xs:element name="SelectiveLogPolicy">                <xs:complexType>                  <xs:sequence>                    <xs:element name="XMLSelectiveLogFields">                      <xs:complexType>                        <xs:sequence>                          <xs:element type="xs:string" name="FieldPath" maxOccurs="unbounded" minOccurs="0"/>                        </xs:sequence>                      </xs:complexType>                    </xs:element>                    <xs:element name="JSONSelectiveLogFields">                      <xs:complexType>                        <xs:sequence>                          <xs:element type="xs:string" name="FieldPath" maxOccurs="unbounded" minOccurs="0"/>                        </xs:sequence>                      </xs:complexType>                    </xs:element>                    <xs:element name="TextSelectiveLog">                      <xs:complexType>                        <xs:sequence>                          <xs:element name="TextToLog" maxOccurs="unbounded" minOccurs="0">                            <xs:complexType>                              <xs:sequence>                                <xs:element type="xs:string" name="Prefix"/>                                <xs:element type="xs:string" name="LineNumber"/>                                <xs:element type="xs:string" name="StartsWith"/>                                <xs:element type="xs:string" name="Regex"/>                                <xs:element type="xs:string" name="StartIndex"/>                                <xs:element type="xs:string" name="EndIndex"/>                              </xs:sequence>                            </xs:complexType>                          </xs:element>                        </xs:sequence>                      </xs:complexType>                    </xs:element>                  </xs:sequence>                </xs:complexType>              </xs:element>            </xs:sequence>          </xs:complexType>        </xs:element>      </xs:sequence>    </xs:complexType>  </xs:element></xs:schema>