<?xml version="1.0" encoding="UTF-8"?>
<!-- 
   * National Flow Forecasting System
   * Copyright (c) 2003-2004 WL Delft Hydraulics. All Rights Reserved.
   *
   * Developed by:
   * Tessella Support Services plc
   * Bosinney Court, 124-126 Stockbridge Road
   * Winchester
   * SO22 6RN
   * United Kingdom
   * email: info@tessella.com
   * web:   www.tessella.com
   *
   * Project Ref: Tessella/NPD/3925
   * Project Identifier: NFFS
   *
   * File history
   * Version           Date                           Author
   * $Revision: 19597 $  $Date: 2008-08-22 12:55:45 +0200 (vr, 22 aug 2008) $   $Author: broek_f $
   *
   * Schema to support mc-system-alerter task property files.
   *
   * NB This is first pass at the schema and so may be inconsistent against actual configuration files.
   *
-->
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:fews="http://www.wldelft.nl/fews" targetNamespace="http://www.wldelft.nl/fews" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
	<include schemaLocation="sharedTypes.xsd"/>
	<element name="mc-system-alerter" type="fews:mc-system-alerter-type">
		<annotation>
			<documentation>
            Element containing the properties associated with the mc-system-alerter workflow.
         </documentation>
		</annotation>
	</element>
	<complexType name="mc-system-alerter-type">
		<annotation>
			<documentation>Type defining the contents of the element defining properties of the task.</documentation>
		</annotation>
		<sequence>
			<element name="alerts" type="fews:alertsType">
				<annotation>
					<documentation>element containing alerts associated with the this task.</documentation>
				</annotation>
			</element>
		</sequence>
	</complexType>
	<complexType name="alertsType">
		<annotation>
			<documentation>
            Type defining the contents of element defining the alerts to be sent for the task.
         </documentation>
		</annotation>
		<sequence>
			<element name="emailalert" type="fews:emailalertType" minOccurs="0" maxOccurs="unbounded">
				<annotation>
					<documentation>Element defining an email alert associated with this task.</documentation>
				</annotation>
			</element>
			<element name="alarmModuleAlert" type="fews:alarmModuleAlertComplexType" minOccurs="0" maxOccurs="unbounded">
				<annotation>
					<documentation>Element defining an alert which sends an AlarmRequest to the AlarmModule webservice</documentation>
				</annotation>
			</element>
			<element name="azureServiceBusAlert" type="fews:azureServiceBusAlertComplexType" minOccurs="0" maxOccurs="unbounded">
				<annotation>
					<documentation>Element defining an alert which sends a log entry to the configured Azure Service Bus</documentation>
				</annotation>
			</element>
			<element name="awsSimpleNotificationServiceAlert" type="fews:awsSimpleNotificationServiceAlertComplexType" minOccurs="0" maxOccurs="unbounded">
				<annotation>
					<documentation>Since 2024.02. Define an alert which sends a log entry to the configured AWS Simple Notification Service. May be used for example for sending emails, SMS messages or trigger an AWS Lambda Function.</documentation>
				</annotation>
			</element>
		</sequence>
	</complexType>
	<complexType name="emailalertType">
		<annotation>
			<documentation>Type defining the contents of email alert specifications.</documentation>
		</annotation>
		<sequence>
			<element name="recipients" type="fews:recipientsType">
				<annotation>
					<documentation>Element listing the recipients of the email resulting from this task.</documentation>
				</annotation>
			</element>
			<element name="configuration" type="fews:configurationType">
				<annotation>
					<documentation>
                  Element defining the configuration of the email sender that will send email for task.
               </documentation>
				</annotation>
			</element>
			<element name="subject" type="fews:subjectType">
				<annotation>
					<documentation>Element defining the subject line for the email generated for the task.</documentation>
				</annotation>
			</element>
			<element name="body" type="fews:bodyType">
				<annotation>
					<documentation>Element defining the text body of the email. It is possible to use the tag %LOG%. The tag %LOG% will be replaced by the log message(s) that contained the event/action Tag (if it mapped to a one_off event)</documentation>
				</annotation>
			</element>
			<element name="attachments" type="fews:attachmentsType">
				<annotation>
					<documentation>Element defining the optional attachments for the email.</documentation>
				</annotation>
			</element>
		</sequence>
	</complexType>
	<complexType name="bodyType">
		<annotation>
			<documentation>Type defining the specification of body contents.</documentation>
		</annotation>
		<attribute name="value" type="string" use="required">
			<annotation>
				<documentation>content to appear in body of email</documentation>
			</annotation>
		</attribute>
	</complexType>
	<complexType name="recipientsType">
		<annotation>
			<documentation>Type defining the specification for how recipients are defined.</documentation>
		</annotation>
		<sequence>
			<element name="recipient" type="fews:recipientType" maxOccurs="unbounded">
				<annotation>
					<documentation>Element defining details of email recipient.</documentation>
				</annotation>
			</element>
		</sequence>
	</complexType>
	<complexType name="recipientType">
		<annotation>
			<documentation>Type defining the specification of a recipient details.</documentation>
		</annotation>
		<attribute name="email" type="string" use="required">
			<annotation>
				<documentation>email address of recipient of email alert</documentation>
			</annotation>
		</attribute>
	</complexType>
	<complexType name="configurationType">
		<annotation>
			<documentation>Type defining the specification of contents of configuration element.</documentation>
		</annotation>
		<sequence>
			<element name="smtp" type="fews:smtpconfigurationType">
				<annotation>
					<documentation>Element used to specify the smtp configuration for the alert.</documentation>
				</annotation>
			</element>
		</sequence>
	</complexType>
	<complexType name="smtpconfigurationType">
		<annotation>
			<documentation>Type defining the specification of contents of configuration element.</documentation>
		</annotation>
		<attribute name="host" type="string" use="required">
			<annotation>
				<documentation>name of host on which smtp gateway is running.</documentation>
			</annotation>
		</attribute>
		<attribute name="port" type="string" use="optional" default="25">
			<annotation>
				<documentation>port on which smtp gateway is configured.</documentation>
			</annotation>
		</attribute>
		<attribute name="user" type="string" use="optional" default="FEWS MC System Alerter">
			<annotation>
				<documentation>user from which messages are reported as being sent, also used as the user name in SMTP authentication if the password attribute is supplied.</documentation>
			</annotation>
		</attribute>
        <attribute name="password" type="string" use="optional">
            <annotation>
                <documentation>password for SMTP authentication. If no password or passwordEnvironmentVariableKey is provided, no SMTP authentication will be used.</documentation>
            </annotation>
        </attribute>
        <attribute name="passwordEnvironmentVariableKey" type="string" use="optional">
            <annotation>
                <documentation>Alternative to the password, requires OS System Environment Property FEWS_MCSYSTEMALERTER_PASSWORD to be present. If no password or passwordEnvironmentVariableKey is provided, no SMTP authentication will be used.</documentation>
            </annotation>
        </attribute>
        		<attribute name="fromaddress" type="string" use="optional">
			<annotation>
				<documentation>
               valid (format) email address from which messages are reported as being sent. If the from address is not
               specified, the InternetAddress.getLocalAddress method will be used to set the from address.
            </documentation>
			</annotation>
		</attribute>
		<attribute name="tls" type="boolean">
			<annotation>
				<documentation>
					Setting tls to true will make sure startTLS process is supported.
					This is required for SMTP servers like Microsoft Office 365.
				</documentation>
			</annotation>
		</attribute>
	</complexType>
	<complexType name="subjectType">
		<annotation>
			<documentation>Type defining specification of the contents of the subject.</documentation>
		</annotation>
		<sequence>
			<element name="subjectline" type="fews:subjectlineType">
				<annotation>
					<documentation>
                  Element defining the subject line text (that substitutions may be made into).
               </documentation>
				</annotation>
			</element>
			<element name="substitutions" type="fews:substitutionType">
				<annotation>
					<documentation>
                  Element defining the substitutions that should occur in the text of the subject line. Only the
                  predefined keywords will be substituted and then only if they are specified in the list of
                  substitutions to take place.
               </documentation>
				</annotation>
			</element>
		</sequence>
	</complexType>
	<complexType name="substitutionType">
		<annotation>
			<documentation>Type defining how substitutions in the subject line should be specified.</documentation>
		</annotation>
		<sequence>
			<element name="tag" type="fews:tagtype" minOccurs="0" maxOccurs="unbounded">
				<annotation>
					<documentation>Element defining a tag that should be substitued into the subject line.</documentation>
				</annotation>
			</element>
		</sequence>
	</complexType>
	<complexType name="subjectlineType">
		<annotation>
			<documentation>Type defining how the subject line text is specified.</documentation>
		</annotation>
		<attribute name="content" type="string" use="required"/>
	</complexType>
	<complexType name="tagtype">
		<annotation>
			<documentation>Type defining how the subject line substitutions are specified.</documentation>
		</annotation>
		<attribute name="tagid" type="fews:subjectlineTags" use="required"/>
	</complexType>
	<simpleType name="subjectlineTags">
		<annotation>
			<documentation>Type enumerating subject line substitution tags.</documentation>
		</annotation>
		<restriction base="string">
			<enumeration value="MC_ID"/>
			<enumeration value="DATE_TIME"/>
			<enumeration value="ATTACHMENT"/>
		</restriction>
	</simpleType>
	<complexType name="attachmentsType">
		<annotation>
			<documentation>Type defining how attachments are specified.</documentation>
		</annotation>
		<sequence>
			<element name="attachment" type="fews:abstractattachmentType" minOccurs="0" maxOccurs="unbounded">
				<annotation>
					<documentation>element used to specify an attachment for the message.</documentation>
				</annotation>
			</element>
		</sequence>
	</complexType>
	<complexType name="abstractattachmentType" abstract="true">
		<annotation>
			<documentation>
            Abstract type as placeholder for types defining the specification of attachments.
         </documentation>
		</annotation>
		<sequence>
			<element name="filename" type="fews:filenameType">
				<annotation>
					<documentation>
                  element used to specify details of the filename to use for the attachment.
               </documentation>
				</annotation>
			</element>
		</sequence>
		<attribute name="maxsize" type="integer" use="required">
			<annotation>
				<documentation>
               attribute used to specify the maximum size of an attachment in KB. For CSV file attachments the last
               row that can be fitted into a file will be added and then an extra line indicating that the max
               attachment size has been exceeded will be added.
            </documentation>
			</annotation>
		</attribute>
	</complexType>
	<complexType name="filenameType">
		<annotation>
			<documentation>Type used to specify how a filename should be built for attachments.</documentation>
		</annotation>
		<attribute name="prefix" type="string" use="required">
			<annotation>
				<documentation>used to specify the prefix used at the beginning of the filename.</documentation>
			</annotation>
		</attribute>
		<attribute name="includedatestamp" type="boolean" use="required">
			<annotation>
				<documentation>
               used to specify if filename should include a timestamp. The timestamp will always be GMT and expressed in
               the format yyyymmddhhmmss.
            </documentation>
			</annotation>
		</attribute>
	</complexType>
	<complexType name="logentriesattachmentType">
		<annotation>
			<documentation>
            Type used to specify how the selection criteria for log entries attachments is made.
         </documentation>
		</annotation>
		<complexContent>
			<extension base="fews:abstractattachmentType">
				<sequence minOccurs="0">
					<element name="logContent" type="fews:LogContentComplexType">
						<annotation>
							<documentation>Element used to specify that the log contaents should be export and in which format and layout.</documentation>
						</annotation>
					</element>
					<element name="bodyColumnHeader" type="string" maxOccurs="unbounded">
						<annotation>
							<documentation>Name of a column header for column separated log contents</documentation>
						</annotation>
					</element>
				</sequence>
				<attribute name="sortorder" type="fews:logentrysortorderType" use="required">
					<annotation>
						<documentation>
                     attribute specifying the column used to determine the order the logs are sorted in.
                  </documentation>
					</annotation>
				</attribute>
				<attribute name="maxentrycount" type="integer" use="required">
					<annotation>
						<documentation>
                     attribute specifying the maximum number of log entries to include based upon the sort order
                     specified.
                  </documentation>
					</annotation>
				</attribute>
				<attribute name="maxlogage" type="long" use="optional">
					<annotation>
						<documentation>
                     Attribute specifying the maximum age of logs to return specified in hours. The age comparison is
                     carried out against the same field that is used for the sort order.
                  </documentation>
					</annotation>
				</attribute>
				<attribute name="eventcodefilter" type="string" use="optional">
					<annotation>
						<documentation>attribute specifying a pattern to use to match log event codes.</documentation>
					</annotation>
				</attribute>
				<attribute name="loglevelthreshold" type="fews:loglevelTypes" use="optional">
					<annotation>
						<documentation>
                     Attribute used to specify a log level threshold for entries - logs with this level and more severe
                     will be included.
                  </documentation>
					</annotation>
				</attribute>
			</extension>
		</complexContent>
	</complexType>
	<complexType name="reportsattachmentType">
		<annotation>
			<documentation>Type used to specify how the selection criteria for report attachments is made.</documentation>
		</annotation>
		<complexContent>
			<extension base="fews:abstractattachmentType">
				<sequence>
					<element name="reportcontents" type="fews:reportcontentsType"/>
				</sequence>
				<attribute name="zip" type="boolean" default="false"/>
			</extension>
		</complexContent>
	</complexType>
	<complexType name="reportcontentsType">
		<annotation>
			<documentation>Type defining the specification for the contents of a report.</documentation>
		</annotation>
		<sequence>
			<element name="latestreportsselection" type="fews:latestreportsselectionType"/>
			<element name="currentreportsselection" type="fews:currentreportsselectionType"/>
		</sequence>
	</complexType>
	<simpleType name="loglevelTypes">
		<annotation>
			<documentation>Types used to specify the threshold for the log entries to include.</documentation>
		</annotation>
		<restriction base="string">
			<enumeration value="LOG_MOST_SEVERE_ONLY"/>
			<enumeration value="LOG_FATAL_ERROR"/>
			<enumeration value="LOG_ERROR"/>
			<enumeration value="LOG_WARNING"/>
			<enumeration value="LOG_INFO"/>
			<enumeration value="LOG_ALL"/>
		</restriction>
	</simpleType>
	<simpleType name="logentrysortorderType">
		<annotation>
			<documentation>log table columns that can be used for the sorting of logs.</documentation>
		</annotation>
		<restriction base="string">
			<enumeration value="LOCAL_AVAILABLE_TIME"/>
			<enumeration value="LOG_CREATION_TIME"/>
		</restriction>
	</simpleType>
	<complexType name="reportsselectionType" abstract="true">
		<annotation>
			<documentation>Type defining how the report selection criteria are specified.</documentation>
		</annotation>
		<attribute name="includeselection" type="boolean" use="required">
			<annotation>
				<documentation>
               Attribute which specifies if the module instance outputs selected in the report selection are to be
               included in the report contents generated for the attachment.

               true - the selection criteria are active.

               false - the selection criteria are not active.
            </documentation>
			</annotation>
		</attribute>
	</complexType>
	<complexType name="latestreportsselectionType">
		<annotation>
			<documentation>
            report selection method that results in the latest reports for each of the listed module instance ids being
            included in the report file generated for the attachment.
         </documentation>
		</annotation>
		<complexContent>
			<extension base="fews:reportsselectionType">
				<sequence>
					<element name="includes" type="fews:moduleinstanceselectionType">
						<annotation>
							<documentation>
                        element is used to list individual module instance run outputs to include.
                     </documentation>
						</annotation>
					</element>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<complexType name="currentreportsselectionType">
		<annotation>
			<documentation>
            report selection method that results in all the reports with matching module instance ids and task run ids in the
            current module instance table being included in the report generated for the attachment. Only the reports
            relating to the module instance ids listed in the reports contents element will be excluded
         </documentation>
		</annotation>
		<complexContent>
			<extension base="fews:reportsselectionType">
				<sequence>
					<element name="excludes" type="fews:moduleinstanceselectionType">
						<annotation>
							<documentation>
                        element is used to list individual module instance run outputs from the current module instance
                        runs to exclude.
                     </documentation>
						</annotation>
					</element>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<complexType name="moduleinstanceselectionType">
		<sequence>
			<element name="moduleinstanceid" type="fews:moduleinstanceidType" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<simpleType name="moduleinstanceidType">
		<annotation>
			<documentation>
            Types used to specify the module instance ids that can be used to select reports for inclusion/exclusion in
            report.
         </documentation>
		</annotation>
		<restriction base="string"/>
	</simpleType>
	<complexType name="alarmModuleAlertComplexType">
		<annotation>
			<documentation>Type defining the contents of alarmmodule alert specifications.</documentation>
		</annotation>
		<sequence>
			<element name="webserviceURL" type="fews:nonEmptyStringType">
				<annotation>
					<documentation>URL of the AlarmModule webservice the alarmrequests have to be sent to, e.g. http://alarmserver.deltares.nl:8080/AlarmModuleManager/webservices/</documentation>
				</annotation>
			</element>
			<element name="alarmDiagTemplateLine" type="fews:alarmDiagLineComplexType" minOccurs="0">
				<annotation>
					<documentation>Template of pi Diag Line-like elements to be used to build up the list of log message lines to send as part of the AlarmRequest. The following tags can be specified for substitution:
					%LOG% : text of logmessage
					%EVENT_CODE%: event code of log message
					%MC_ID%: Id of mastercontroller generating the alert
					</documentation>
				</annotation>
			</element>
			<element name="alarmDiagLine" type="fews:alarmDiagLineComplexType" minOccurs="0" maxOccurs="unbounded">
				<annotation>
					<documentation>pi Diag Line-like elements to be sent to the alarmModule</documentation>
				</annotation>
			</element>
		</sequence>
	</complexType>
	<complexType name="azureServiceBusAlertComplexType">
		<annotation>
			<documentation>Type defining the message content that can be sent to the Azure Service Bus</documentation>
		</annotation>
		<sequence>
			<element name="serviceBusUrl" type="fews:nonEmptyStringType">
				<annotation>
					<documentation>URL of the Azure Service Bus, for example: sb://fffs-eventcode-service-bus.servicebus.windows.net/</documentation>
				</annotation>
			</element>
			<element name="serviceBusEndpoint" type="fews:nonEmptyStringType">
				<annotation>
					<documentation>Endpoints on the Azure Service Bus the messages should be sent to. Can be either a service bus queue or topic endpoint.
						Topic example: https://fffs-eventcode-service-bus.servicebus.windows.net/fews-eventcode-topic/messages
						Queue example: https://fffs-eventcode-service-bus.servicebus.windows.net/fews-eventcode-queue/messages
					</documentation>
				</annotation>
			</element>
			<element name="sharedAccessPolicyKeyName" type="fews:nonEmptyStringType">
				<annotation>
					<documentation>Name of the Shared Access Policy key that is used when sending a message to the Azure Service Bus. The Send claim has to be assigned to this policy.  Example: ServiceBusSendingSharedAccessKey</documentation>
				</annotation>
			</element>
			<element name="sharedAccessPolicyKeyValue" type="fews:nonEmptyStringType">
				<annotation>
					<documentation>Value of the Shared Access Policy key that is used when sending a message to the Azure Service Bus. Example value: feznB/MekxZ1qwHQfCThSOP/Ih/q0HK/xewTglBTInQ= </documentation>
				</annotation>
			</element>
			<element name="serviceBusMessageContentType" type="fews:serviceBusContentType" minOccurs="0">
				<annotation>
					<documentation>content type of the message that is sent to the service bus. Default is text/plain. Content type is used to escape the parameters in the serviceBusMessagePayLoad.</documentation>
				</annotation>
			</element>
			<element name="serviceBusMessagePayloadTemplate" type="fews:nonEmptyStringType">
				<annotation>
					<documentation>payload of the service bus message send as part of the Azure Service Bus Messages. The following tags can be specified for substitution:
						%LOG% : text of log message. In case xml is used as content type, it is advised to use a CDATA block for the log message to avoid xml encoding issues.
						%EVENT_CODE%: event code of log message
						%MC_ID%: id of master controller generating the alert
					</documentation>
				</annotation>
			</element>
			<element name="serviceBusMessagePayload" type="fews:nonEmptyStringType" minOccurs="0" maxOccurs="unbounded">
				<annotation>
					<documentation>payload of the messages that will be sent to the service bus in the template format.</documentation>
				</annotation>
			</element>
		</sequence>
	</complexType>
	<simpleType name="serviceBusContentType">
		<annotation>
			<documentation>Types used to specify the content that is sent to Service Bus.</documentation>
		</annotation>
		<restriction base="string">
			<enumeration value="text/plain"/>
			<enumeration value="application/json"/>
			<enumeration value="application/xml"/>
		</restriction>
	</simpleType>
	<complexType name="awsSimpleNotificationServiceAlertComplexType">
		<annotation>
			<documentation>Type defining the message content that can be sent to the AWS Simple Notification Service</documentation>
		</annotation>
		<sequence>
			<element name="snsUrl" type="fews:nonEmptyStringType">
				<annotation>
					<documentation>URL of the AWS Service Notification Service. Make sure the correct region is used in the URL.. Example: https://sns.eu-north-1.amazonaws.com</documentation>
				</annotation>
			</element>
			<element name="snsTopicArn" type="fews:nonEmptyStringType">
				<annotation>
					<documentation>Topic where the alert message should be sent to.
						example: arn:aws:sns:eu-north-1:2321423234:FewsLogMessageTopic
					</documentation>
				</annotation>
			</element>
			<element name="snsAccessKey" type="fews:nonEmptyStringType" minOccurs="0">
				<annotation>
					<documentation>Access key required to connect to the Simple Notification Service. If not set, the assumed role will be used.</documentation>
				</annotation>
			</element>
			<element name="snsAccessSecret" type="fews:nonEmptyStringType" minOccurs="0">
				<annotation>
					<documentation>Optional Secret to connect to the Simple Notification Service. If not set, the assumed role will be used.</documentation>
				</annotation>
			</element>
			<element name="snsMessageContentType" type="fews:snsContentType" minOccurs="0">
				<annotation>
					<documentation>content type of the message that is sent to the service bus. Default is text/plain. Content type is used to escape the parameters in the serviceBusMessagePayLoad.</documentation>
				</annotation>
			</element>
			<element name="snsMessagePayloadTemplate" type="fews:nonEmptyStringType">
				<annotation>
					<documentation>payload of the service bus message send as part of the Simple Notification Service. The following tags can be specified for substitution:
						%LOG% : text of log message. In case xml is used as content type, it is advised to use a CDATA block for the log message to avoid xml encoding issues.
						%EVENT_CODE%: event code of log message
						%MC_ID%: id of master controller generating the alert
					</documentation>
				</annotation>
			</element>
			<element name="snsMessagePayload" type="fews:nonEmptyStringType" minOccurs="0" maxOccurs="unbounded">
				<annotation>
					<documentation>payload of the messages that will be sent to the Simple Notification Services Topic in the template format. Will be set by the master controller</documentation>
				</annotation>
			</element>
			<element name="snsMessageSubject" type="fews:nonEmptyStringType" minOccurs="0">
				<annotation>
					<documentation>Optional subject that can be used when sending message to the AWS Simple Notification Service. Only relevant if an email message is sent.</documentation>
				</annotation>
			</element>
		</sequence>
	</complexType>
	<simpleType name="snsContentType">
		<annotation>
			<documentation>Types used to specify the content that is sent to the Simple Notification Service.</documentation>
		</annotation>
		<restriction base="string">
			<enumeration value="text/plain"/>
			<enumeration value="application/json"/>
			<enumeration value="application/xml"/>
		</restriction>
	</simpleType>
	<complexType name="alarmDiagLineComplexType">
		<annotation>
			<documentation>Type defining elements of augmented piDiag Lines</documentation>
		</annotation>
		<attribute name="level" type="byte" use="required">
			<annotation>
				<documentation> Severity level, most likely ignored. (hint: use 1 for now)
				3 = info (information, all is well, e,g, :"SOBEK: program ended")
                2 = warn (warning information.e.g. "SOBEK: high number of iterations")
                1 = error (critical problems. e.g. "SOBEK: no convergence")
                0 = fatal (full module crash. e.g. "SOBEK: ooops, what now?")
                All levels higher than 3 are regarded as non-essential (debug) information</documentation>
			</annotation>
		</attribute>
		<attribute name="description" type="string" use="required">
			<annotation>
				<documentation>The description of the alarm, usually the text of the log message. Use %LOG% in template to be substituted by log message text.</documentation>
			</annotation>
		</attribute>
		<attribute name="source" type="string" use="required">
			<annotation>
				<documentation>The source of the alarm request, usually the MC ID. Use %MC_ID% in template to be substitued by the ID of the MC generating the alert.</documentation>
			</annotation>
		</attribute>
		<attribute name="code" type="string" use="required">
			<annotation>
				<documentation>The event code for the alarm request, usually the event code of the log message. Use %EVENT_CODE% in the template to by subsitituted by the log message event code.</documentation>
			</annotation>
		</attribute>
	</complexType>
	<complexType name="LogContentComplexType">
		<attribute name="format" type="fews:logContentFormatStringType" use="required">
			<annotation>
				<documentation>The source of the alarm request, usually the MC ID. Use %MC_ID% in template to be substitued by the ID of the MC generating the alert.</documentation>
			</annotation>
		</attribute>
		<attribute name="columnSeparator" type="fews:nonEmptyStringType" use="required">
			<annotation>
				<documentation>The event code for the alarm request, usually the event code of the log message. Use %EVENT_CODE% in the template to by subsitituted by the log message event code.</documentation>
			</annotation>
		</attribute>
	</complexType>
	<simpleType name="logContentFormatStringType">
		<annotation>
			<documentation>File formats of log contents</documentation>
		</annotation>
		<restriction base="string">
			<enumeration value="xlsx"/>
		</restriction>
	</simpleType>
</schema>
