﻿<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT dotfuscatorreferencerules (referencerule)*>
<!ELEMENT referencerule (comment, (excludelist | triggerlist | conditionalincludes)) >
<!ATTLIST referencerule
  rulekey CDATA #REQUIRED
	ruleisdefault (false | true) "false"
  name CDATA #REQUIRED
>
<!ELEMENT excludelist (type | namespace | module )*>
<!ELEMENT includelist (type | namespace | module )*>
<!ELEMENT type (comment?, (method | field | customattribute)*)>
<!ATTLIST type
	name CDATA #REQUIRED
	regex (false | true) "false"
	excludetype (false | true) "true"
	speclist CDATA #IMPLIED
>
<!ELEMENT method (comment?, customattribute*)>
<!ATTLIST method
	regex (false | true) "false"
	name CDATA #REQUIRED
	speclist CDATA #IMPLIED
	signature CDATA #IMPLIED
>
<!ELEMENT field (comment?, customattribute*)>
<!ATTLIST field
	name CDATA #REQUIRED
	regex (false | true) "false"
	speclist CDATA #IMPLIED
>
<!ELEMENT namespace (comment?)>
<!ATTLIST namespace
	name CDATA #REQUIRED
	regex (false | true) "false"
>
<!ELEMENT module EMPTY>
<!ATTLIST module
	name CDATA #REQUIRED
	assemblyname CDATA #REQUIRED
>
<!ELEMENT customattribute (comment?)>
<!ATTLIST customattribute
	name CDATA #REQUIRED
	regex (false | true) "false"
>
<!ELEMENT comment (#PCDATA)>
<!ELEMENT triggerlist (type | namespace | module)*>
<!ELEMENT conditionalincludes (type | namespace | module )*>
