<!--
   ==============================
   Fichier:				http://www.kallisys.com/files/mac/filtre-and-go.prefs.dtd
   Projet:				Filtre & Go (http://www.kallisys.com/mac/filtre-and-go/)
   Ecrit par:			Paul Guyot (pguyot@kallisys.net)
  
   Créé le:				16/11/2002
   Tabulation:			4 espaces
   Version:				1
  
   Copyright:			© 2002 by Paul Guyot.
   						Tous droits réservés pour tous pays.
   ===========
-->

<!ELEMENT log (#PCDATA)>
<!-- contenu: message pour le journal des erreurs -->

<!ELEMENT action (#PCDATA?)
	-- action en cas de filtrage
	--  contenu: message d'erreur pour le client (si l'élément est vide, on prend le message par défaut) -->
<!ATTLIST action
	type		(rejeter|jeter|ruser|accepter)	-- action à prendre:
												--	rejeter: code d'erreur, EIMS abandonne le message
												--	jeter: pas de code d'erreur, EIMS abandonne le message
												--	ruser: code d'erreur, EIMS (>= 3.x) transmet le message
												--	accepter: pas de code d'erreur, EIMS transmet le message
	>

<!-- expression -->
<!ELEMENT expression EMPTY>
<!ATTLIST expression
	source		NMTOKENS	#REQUIRED	-- source (entête, FROM, BODY, IP, ID).
	expression	CDATA		#REQUIRED	-- expression rationnelle
	litteral	(oui|non)	non			-- si l'expression rationnelle est en fait littérale.
	basique		(oui|non)	non			-- si l'expression rationnelle est basique
	findeligne	(oui|non)	non			-- si on doit gérer les sauts de ligne
	negation	(oui|non)	non			-- si on doit prendre la négation du test
	>

<!ELEMENT disjonction expression+
	-- disjonction d'expressions -->

<!ELEMENT conjonction (disjonction|expression)+
	-- conjonction de disjonctions et/ou d'expressions -->

<!ELEMENT regle ((expression|conjonction|disjonction) action log?)
	-- règle de filtrage.
	--  log: si non présent, la phrase de log par défaut sera utilisée. -->
<!ATTLIST regle
	virus		(oui|non)	non		-- si c'est un virus, i.e. si on n'honore pas les exclusions
    >

<!ELEMENT prefs EMPTY
	-- préférences -->
<!ATTLIST prefs
	rotation	NMTOKEN		"81600"						-- rotation des statistiques (1 jour) 0: pas de stats.
	log-msg		CDATA		"Message filtré par F&G"	-- message par défaut pour le journal
	bounce-msg	CDATA		"Message refusé."			-- message par défaut si on rebondit
	trash-msg	CDATA		"Message supprimé."			-- message par défaut si on détruit le mesasge
	spoof-msg	CDATA		"Message refusé."			-- message par défaut si on ruse
    >

<!ELEMENT preferences (prefs regle*)
	-- structure du document: un élément préférences et des règles -->

<!--
   =======================================================================
-->

