<?xml version="1.0" encoding="UTF-8" ?>
<!--
	TinyMCE policy download from trunk adapted for OLAT
	Version found at 30.07.2009, Adaption made by frentix GmbH
-->

<anti-samy-rules xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:noNamespaceSchemaLocation="antisamy.xsd">

	<directives>
		<directive name="omitXmlDeclaration" value="true" />
		<directive name="omitDoctypeDeclaration" value="true" />
		<directive name="maxInputSize" value="1000000" />
		<directive name="embedStyleSheets" value="false" />
		<directive name="useXHTML" value="true" />
		<directive name="formatOutput" value="false" />
	</directives>

	<common-regexps>
		<regexp name="anything" value=".*" />
		<!--
			From W3C:
			This attribute assigns a class name or set of class names to an
			element. Any number of elements may be assigned the same class
			name or names. Multiple class names must be separated by white
			space characters.
		-->
		<regexp name="htmlTitle"
			value="[a-zA-Z0-9\s-_',:\[\]!\./\\\(\)%&amp;;\+#]*" />
		<regexp name="htmlClass" value="[a-zA-Z0-9\s,-_]+" />

		<!--  force non-empty with a '+' at the end instead of '*'
		-->
		<regexp name="onsiteURL"
			value="([\p{L}\p{N}\p{Zs}/\.\?=&amp;\-~_])+" />
		<regexp name="offsiteURL"
			value="(\s)*(http(s?)://|mailto:)[A-Za-z0-9]+[~a-zA-Z0-9-_\.@#$%&amp;;:,\?=/\+!]*(\s)*" />
		<!--  This is for resources referenced from CSS (such as background images and other imported stylesheets) -->
		<regexp name="cssOnsiteUri" value="url\(([\p{L}\p{N}\\/\.\?=\#&amp;;\-_~]+|\#(\w)+)\)"/>
		<regexp name="cssOffsiteUri" value="url\((\s)*(http(s?)://)[\p{L}\p{N}]+[~\p{L}\p{N}\p{Zs}\-_\.@#$%&amp;;:,\?=/\+!]*(\s)*\)"/>
		
		<regexp name="paragraph"
			value="([\p{L}\p{N},'\.\s\-_\(\)]|&amp;[0-9]{2};)*" />

		<regexp name="numberOrPercent" value="(\d)+(%{0,1})" />
		<regexp name="number" value="[0-9]+" />
		<regexp name="length"
			value="((-|\+)?0|(-|\+)?([0-9]+(.[0-9]+)?)(em|ex|px|in|cm|mm|pt|pc))" />
		<regexp name="positiveLength" value="((\+)?0|(\+)?([0-9]+(.[0-9]+)?)(em|ex|px|in|cm|mm|pt|pc))"/>
		<regexp name="percentage" value="(-|\+)?([0-9]+(.[0-9]+)?)%" />
		<regexp name="positivePercentage" value="(\+)?([0-9]+(.[0-9]+)?)%"/>
		<regexp name="absolute-size" value="(xx-small|x-small|small|medium|large|x-large|xx-large)"/>
		<regexp name="relative-size" value="(larger|smaller)"/>
		
		<!-- The 16 colors defined by the HTML Spec (also used by the CSS Spec) -->
		<regexp name="colorName"
			value="(aqua|black|blue|fuchsia|gray|grey|green|lime|maroon|navy|olive|purple|red|silver|teal|white|yellow)" />
		<!-- HTML/CSS Spec allows 3 or 6 digit hex to specify color -->
		<regexp name="colorCode"
			value="(#([0-9a-fA-F]{6}|[0-9a-fA-F]{3}))" />
		<!-- Used for CSS Color specifications (complex regexp expresses integer values of 0-255) -->
		<regexp name="rgbCode"
			value="rgb\(([1]?[0-9]{1,2}|2[0-4][0-9]|25[0-5]),([1]?[0-9]{1,2}|2[0-4][0-9]|25[0-5]),([1]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])\)" />
		<!-- CSS2 Allowed System Color Values -->
		<regexp name="systemColor"
			value="(activeborder|activecaption|appworkspace|background|buttonface|buttonhighlight|buttonshadow|buttontext|captiontext|graytext|highlight|highlighttext|inactiveborder|inactivecaption|inactivecaptiontext|infobackground|infotext|menu|menutext|scrollbar|threeddarkshadow|threedface|threedhighlight|threedlightshadow|threedshadow|window|windowframe|windowtext)" />


	</common-regexps>

	<!--
		Tag.name = a, b, div, body, etc.
		Tag.action = filter: remove tags, but keep content, validate: keep content as long as it passes rules, remove: remove tag and contents
		Attribute.name = id, class, href, align, width, etc.
		Attribute.onInvalid = what to do when the attribute is invalid, e.g., remove the tag (removeTag), remove the attribute (removeAttribute), filter the tag (filterTag)
		Attribute.description = What rules in English you want to tell the users they can have for this attribute. Include helpful things so they'll be able to tune their HTML
	-->

	<!--
		Some attributes are common to all (or most) HTML tags. There aren't many that qualify for this. You have to make sure there's no
		collisions between any of these attribute names with attribute names of other tags that are for different purposes.
	-->

	<common-attributes>
		<attribute name="id" description="The 'id' of any HTML attribute should not contain anything besides letters and numbers">
			<regexp-list>
				<regexp value="[a-zA-Z0-9_\-\:]+"/>
			</regexp-list>
		</attribute>
	
		<attribute name="class"
			description="The 'class' of any HTML attribute is usually a single word, but it can also be a list of class names separated by spaces">
			<regexp-list>
				<regexp name="htmlClass" />
			</regexp-list>
		</attribute>

		<attribute name="lang"
			description="The 'lang' attribute tells the browser what language the element's attribute values and content are written in">
			<regexp-list>
				<regexp value="[a-zA-Z]{2,20}" />
			</regexp-list>
		</attribute>

		<attribute name="title"
			description="The 'title' attribute provides text that shows up in a 'tooltip' when a user hovers their mouse over the element">
			<regexp-list>
				<regexp name="htmlTitle" />
			</regexp-list>
		</attribute>

		<attribute name="href" onInvalid="filterTag">

			<regexp-list>
				<regexp name="onsiteURL" />
				<regexp name="offsiteURL" />

				<!--
				-->
			</regexp-list>
		</attribute>

		<attribute name="align"
			description="The 'align' attribute of an HTML element is a direction word, like 'left', 'right' or 'center'">

			<literal-list>
				<literal value="center" />
				<literal value="left" />
				<literal value="right" />
				<literal value="justify" />
				<literal value="char" />
			</literal-list>
		</attribute>
		<attribute name="style"
			description="The 'style' attribute provides the ability for users to change many attributes of the tag's contents using a strict syntax" />

		<attribute name="alt"
			description="The 'alt' attribute provides alternative text to users when its visual representation is not available">
			<regexp-list>
				<regexp name="paragraph" />
			</regexp-list>
		</attribute>

		<!--  Common positioning attributes  -->

		<attribute name="width">
			<regexp-list>
				<regexp name="numberOrPercent" />
			</regexp-list>
		</attribute>

		<attribute name="height">
			<regexp-list>
				<regexp name="numberOrPercent" />
			</regexp-list>
		</attribute>

		<attribute name="align"
			description="The 'align' attribute of an HTML element is a direction word, like 'left', 'right' or 'center'">
			<literal-list>
				<literal value="center" />
				<literal value="middle" />
				<literal value="left" />
				<literal value="right" />
				<literal value="justify" />
				<literal value="char" />
			</literal-list>
		</attribute>

		<attribute name="valign"
			description="The 'valign' attribute of an HTML attribute is a direction word, like 'baseline','bottom','middle' or 'top'">
			<literal-list>
				<literal value="baseline" />
				<literal value="bottom" />
				<literal value="middle" />
				<literal value="top" />
			</literal-list>
		</attribute>

		<attribute name="border">
			<regexp-list>
				<regexp name="number" />
			</regexp-list>
		</attribute>

		<attribute name="dir"
			description="The 'dir' attribute of an HTML attribute assigns a reading direction, like 'ltr' or 'rtl' ">
			<literal-list>
				<literal value="ltr" />
				<literal value="rtl" />
			</literal-list>
		</attribute>

		<!--  Table attributes  -->
		<attribute name="rules" description="The 'rules' attribute of a table specifies where to show rules inside table. ">
			<literal-list>
				<literal value="none" />
				<literal value="rows" />
				<literal value="cols" />
				<literal value="groups" />
				<literal value="all" />
			</literal-list>
		</attribute>
		
		<attribute name="summary" description="The 'summary' attribute of a table holds an abstract of table content mainly for screen readers. ">
			<regexp-list>
				<regexp name="paragraph" />
			</regexp-list>
		</attribute>
				
		<attribute name="border">
			<regexp-list>
				<regexp name="number" />
			</regexp-list>
		</attribute>

		<attribute name="cellpadding">
			<regexp-list>
				<regexp name="number" />
			</regexp-list>
		</attribute>

		<attribute name="cellspacing">
			<regexp-list>
				<regexp name="number" />
			</regexp-list>
		</attribute>

		<attribute name="colspan">
			<regexp-list>
				<regexp name="number" />
			</regexp-list>
		</attribute>

		<attribute name="rowspan">
			<regexp-list>
				<regexp name="number" />
			</regexp-list>
		</attribute>

		<attribute name="background">
			<regexp-list>
				<regexp name="onsiteURL" />
			</regexp-list>
		</attribute>

		<attribute name="bgcolor">
			<regexp-list>
				<regexp name="colorName" />
				<regexp name="colorCode" />
			</regexp-list>
		</attribute>

		<attribute name="abbrev">
			<regexp-list>
				<regexp name="paragraph" />
			</regexp-list>
		</attribute>

		<attribute name="headers"
			description="The 'headers' attribute is a space-separated list of cell IDs">
			<regexp-list>
				<regexp value="[a-zA-Z0-9\s*]*" />
			</regexp-list>
		</attribute>

		<attribute name="charoff">
			<regexp-list>
				<regexp value="numberOrPercent" />
			</regexp-list>
		</attribute>

		<attribute name="char">
			<regexp-list>
				<regexp value=".*{0,1}" />
			</regexp-list>
		</attribute>

		<attribute name="axis"
			description="The 'headers' attribute is a comma-separated list of related header cells">
			<regexp-list>
				<regexp value="[a-zA-Z0-9\s*,]*" />
			</regexp-list>
		</attribute>

		<attribute name="nowrap"
			description="The 'nowrap' attribute tells the browser not to wrap text that goes over one line">
			<regexp-list>
				<regexp name="anything" />
				<!-- <regexp value="(nowrap){0,1}"/>  -->
			</regexp-list>
		</attribute>

		<attribute name="scope"
			description="The 'scope' attribute defines what's covered by the header cells">
			<literal-list>
				<literal value="row" />
				<literal value="col" />
				<literal value="rowgroup" />
				<literal value="colgroup" />
			</literal-list>
		</attribute>

	</common-attributes>

	<!--
		This requires normal updates as browsers continue to diverge from the W3C and each other. As long as the browser wars continue
		this is going to continue. I'm not sure war is the right word for what's going on. Doesn't somebody have to win a war after
		a while?
		
		
	-->

	<global-tag-attributes>
		<attribute name="id" />
		<attribute name="title" />
		<attribute name="lang" />
		<attribute name="style" />
		<attribute name="dir" />
	</global-tag-attributes>

	<tags-to-encode>
		<tag>g</tag>
		<tag>grin</tag>
	</tags-to-encode>










	<tag-rules>
		<tag name="h1" action="validate" >
			<attribute name="class" />
		</tag>
		<tag name="h2" action="validate" >
			<attribute name="class" />
		</tag>
		<tag name="h3" action="validate" >
			<attribute name="class" />
		</tag>
		<tag name="h4" action="validate" >
			<attribute name="class" />
		</tag>
		<tag name="h5" action="validate" >
			<attribute name="class" />
		</tag>
		<tag name="h6" action="validate" >
			<attribute name="class" />
		</tag>

		<!--  Remove  -->

		<tag name="script" action="remove" />
		<tag name="noscript" action="remove" />
		<tag name="iframe" action="remove" />
		<tag name="frameset" action="remove" />
		<tag name="frame" action="remove" />
		<tag name="noframes" action="remove" />
		<tag name="head" action="remove" />
		<tag name="title" action="remove" />
		<tag name="base" action="remove" />
		<tag name="style" action="remove" />
		<tag name="link" action="remove" />
		<tag name="input" action="remove" />
		<tag name="textarea" action="remove" />

		<!--  Truncate  -->
		<tag name="br" action="truncate" />

		<!--  Validate -->
		<tag name="hr" action="validate"/>

		<tag name="p" action="validate">
			<attribute name="align" />
		</tag>
		<tag name="div" action="validate" >
			<attribute name="class" />
		</tag>
		<tag name="span" action="validate">
			<attribute name="class" />
		</tag>
		<tag name="i" action="validate" />
		<tag name="b" action="validate" />
		<tag name="strong" action="validate" />
		<tag name="s" action="validate" />
		<tag name="strike" action="validate" />
		<tag name="u" action="validate" />
		<tag name="em" action="validate" />
		<tag name="blockquote" action="validate" >
			<attribute name="class" />
		</tag>
		<tag name="pre" action="validate" />
		<tag name="tt" action="truncate" />

		<tag name="a" action="validate">
			<attribute name="class" />
			<attribute name="href" onInvalid="filterTag" />
			<attribute name="alt" />
			<attribute name="target">
				<literal-list>
					<literal value="_blank" />
				</literal-list>
			</attribute>
			<attribute name="nohref">
				<literal-list>
					<literal value="nohref" />
					<literal value="" />
				</literal-list>
			</attribute>
			<attribute name="rel">
				<literal-list>
					<literal value="nofollow" />
				</literal-list>
			</attribute>
		</tag>

		<!--  List tags
		-->
		<tag name="ul" action="validate" >
			<attribute name="class" />
		</tag>
		<tag name="ol" action="validate" >
			<attribute name="class" />
		</tag>
		<tag name="li" action="validate" />
		<tag name="dl" action="validate" />
		<tag name="dt" action="validate" />
		<tag name="dd" action="validate" />

		<!-- Image & image related tags -->

		<tag name="img" action="validate">
			<attribute name="src" onInvalid="removeTag">
				<regexp-list>
					<regexp name="onsiteURL" />
					<regexp name="offsiteURL" />
				</regexp-list>
			</attribute>
			<attribute name="class" />
			<attribute name="alt" />
			<attribute name="height" />
			<attribute name="width" />
			<attribute name="border" />
			<attribute name="align" />

			<attribute name="hspace">
				<regexp-list>
					<regexp name="number" />
				</regexp-list>
			</attribute>

			<attribute name="vspace">
				<regexp-list>
					<regexp name="number" />
				</regexp-list>
			</attribute>
		</tag>


		<tag name="sub" action="validate" />
		<tag name="sup" action="validate" />
		<tag name="caption" action="validate" />


		<!-- Table tags (tbody, thead, tfoot)-->

		<tag name="thead" action="validate">
			<attribute name="align" />
			<attribute name="char" />
			<attribute name="charoff" />
			<attribute name="valign" />
		</tag>

		<tag name="tbody" action="validate">
			<attribute name="align" />
			<attribute name="char" />
			<attribute name="charoff" />
			<attribute name="valign" />
		</tag>

		<tag name="tfoot" action="validate">
			<attribute name="align" />
			<attribute name="char" />
			<attribute name="charoff" />
			<attribute name="valign" />
		</tag>

		<tag name="table" action="validate">
			<attribute name="class" />
			<attribute name="height" />
			<attribute name="width" />
			<attribute name="border" />
			<attribute name="bgcolor" />
			<attribute name="cellpadding" />
			<attribute name="cellspacing" />
			<attribute name="background" />
			<attribute name="align" />
			<attribute name="rules" />
			<attribute name="summary" />
			<attribute name="noresize">
				<literal-list>
					<literal value="noresize" />
					<literal value="" />
				</literal-list>
			</attribute>
		</tag>

		<tag name="td" action="validate">
			<attribute name="background" />
			<attribute name="bgcolor" />
			<attribute name="abbrev" />
			<attribute name="axis" />
			<attribute name="headers" />
			<attribute name="scope" />
			<attribute name="nowrap" />
			<attribute name="height" />
			<attribute name="width" />
			<attribute name="align" />
			<attribute name="char" />
			<attribute name="charoff" />
			<attribute name="valign" />
			<attribute name="colspan" />
			<attribute name="rowspan" />
		</tag>

		<tag name="th" action="validate">
			<attribute name="abbrev" />
			<attribute name="axis" />
			<attribute name="headers" />
			<attribute name="scope" />
			<attribute name="nowrap" />
			<attribute name="bgcolor" />
			<attribute name="height" />
			<attribute name="width" />
			<attribute name="align" />
			<attribute name="char" />
			<attribute name="charoff" />
			<attribute name="valign" />
			<attribute name="colspan" />
			<attribute name="rowspan" />
		</tag>

		<tag name="tr" action="validate">
			<attribute name="class" />
			<attribute name="height" />
			<attribute name="width" />
			<attribute name="align" />
			<attribute name="valign" />
			<attribute name="char" />
			<attribute name="charoff" />
			<attribute name="background" />
		</tag>


	</tag-rules>







	<css-rules>

		<property name="height" default="auto" description="">
			<category-list>
				<category value="visual" />
			</category-list>
			<literal-list>
				<literal value="auto" />
				<literal value="inherit" />
			</literal-list>
			<regexp-list>
				<regexp name="length" />
				<regexp name="percentage" />
			</regexp-list>
		</property>
		<property name="width" default="auto" description="">
			<category-list>
				<category value="visual" />
			</category-list>
			<literal-list>
				<literal value="auto" />
				<literal value="inherit" />
			</literal-list>
			<regexp-list>
				<regexp name="length" />
				<regexp name="percentage" />
			</regexp-list>
		</property>

		<property name="text-decoration" default="none"
			description="">

			<category-list>
				<category value="visual" />
			</category-list>

			<literal-list>
				<literal value="underline" />
				<literal value="overline" />
				<literal value="line-through" />
			</literal-list>
		</property>

		<property name="text-align"
			description="This property describes how inline content of a block is aligned.">
			<category-list>
				<category value="visual" />
			</category-list>
			<!--  For safety, ignoring string alignment which can be used to line table cells on characters -->
			<literal-list>
				<literal value="left" />
				<literal value="right" />
				<literal value="center" />
				<literal value="justify" />
				<literal value="inherit" />
			</literal-list>
		</property>
		
		<property name="vertical-align" default="baseline" description="">
			<category-list>
				<category value="visual"/>
			</category-list>
			<literal-list>
				<literal value="baseline"/>
				<literal value="sub"/>
				<literal value="super"/>
				<literal value="top"/>
				<literal value="text-top"/>
				<literal value="middle"/>
				<literal value="bottom"/>
				<literal value="text-bottom"/>
				<literal value="inherit"/>
			</literal-list>
			<regexp-list>
				<regexp name="percentage"/>
				<regexp name="length"/>
			</regexp-list>
		</property>	

		<property name="font-family"
			description="This property specifies a prioritized list of font family names and/or generic family names.">
			<category-list>
				<category value="visual" />
			</category-list>
			<!-- allowing only generic font families -->
			<literal-list>
				<literal value="serif" />
				<literal value="courier" />
				<literal value="courier new" />
				<literal value="arial" />
				<literal value="lucida console" />
				<literal value="sans-serif" />
				<literal value="cursive" />
				<literal value="verdana" />
				<literal value="fantasy" />
				<literal value="monospace" />
			</literal-list>
			<!-- FIXME:RH should be removed, after fix of http://code.google.com/p/owaspantisamy/issues/detail?id=49 -->
			<regexp-list>
				<regexp value="[\w,\-&apos;&quot; ]+"/>
			</regexp-list>
		</property>
		<property name="background" description="The 'background' property is a shorthand property for setting the individual background properties (i.e., 'background-color', 'background-image', 'background-repeat', 'background-attachment' and 'background-position') at the same place in the style sheet.">
			<literal-list>
				<literal value="inherit"/>
			</literal-list>
			<shorthand-list>
				<shorthand name="background-color"/>
				<shorthand name="background-image"/>
				<shorthand name="background-repeat"/>
				<shorthand name="background-position"/>
			</shorthand-list>
		</property>
		<property name="background-color"
			description="This property sets the background color of an element, either a &lt;color&gt; value or the keyword 'transparent', to make the underlying colors shine through.">
			<literal-list>
				<literal value="transparent" />
				<literal value="inherit" />
			</literal-list>
			<regexp-list>
				<regexp name="colorName" />
				<regexp name="colorCode" />
				<regexp name="rgbCode" />
				<regexp name="systemColor" />
			</regexp-list>
		</property>
		<property name="background-image" description="This property sets the background image of an element.">
			<literal-list>
				<literal value="none"/>
				<literal value="inherit"/>
			</literal-list>
			<regexp-list>
				<regexp name="cssOffsiteUri"/>
				<regexp name="cssOnsiteUri"/>
			</regexp-list>
		</property>

		<property name="background-position" description="If a background image has been specified, this property specifies its initial position.">
			<literal-list>
				<literal value="top"/>
				<literal value="center"/>
				<literal value="bottom"/>
				<literal value="left"/>
				<literal value="center"/>
				<literal value="right"/>
				<literal value="inherit"/>
			</literal-list>
			<regexp-list>
				<regexp name="percentage"/>
				<regexp name="length"/>
			</regexp-list>
		</property>

		<property name="background-repeat" description="If a background image is specified, this property specifies whether the image is repeated (tiled), and how.">
			<literal-list>
				<literal value="repeat"/>
				<literal value="repeat-x"/>
				<literal value="repeat-y"/>
				<literal value="no-repeat"/>
				<literal value="inherit"/>
			</literal-list>
		</property>
		<property name="color" description="">
			<category-list>
				<category value="visual"/>
			</category-list>
			<literal-list>
				<literal value="inherit"/>
			</literal-list>
			<regexp-list>
				<regexp name="colorName"/>
				<regexp name="colorCode"/>
				<regexp name="rgbCode"/>
				<regexp name="systemColor"/>
			</regexp-list>
		</property>
		<property name="font-size" default="medium" description="">
			<category-list>
				<category value="visual"/>
			</category-list>
			<literal-list>
				<literal value="inherit"/>
			</literal-list>
			<regexp-list>
				<regexp name="absolute-size"/>
				<regexp name="relative-size"/>
				<regexp name="length"/>
				<regexp name="percentage"/>
			</regexp-list>
		</property>
		
		<property name="border-color" description="">
			<category-list>
				<category value="visual"/>
			</category-list>
			<literal-list>
				<literal value="transparent"/>
				<literal value="inherit"/>
			</literal-list>
			<regexp-list>
				<regexp name="colorName"/>
				<regexp name="colorCode"/>
				<regexp name="rgbCode"/>
				<regexp name="systemColor"/>
			</regexp-list>
		</property>
		<property name="border-top-color" description="">
			<category-list>
				<category value="visual"/>
			</category-list>
			<literal-list>
				<literal value="inherit"/>
			</literal-list>
			<regexp-list>
				<regexp name="colorName"/>
				<regexp name="colorCode"/>
				<regexp name="rgbCode"/>
				<regexp name="systemColor"/>
			</regexp-list>
		</property>
		<property name="border-right-color" description="">
			<category-list>
				<category value="visual"/>
			</category-list>
			<literal-list>
				<literal value="inherit"/>
			</literal-list>
			<regexp-list>
				<regexp name="colorName"/>
				<regexp name="colorCode"/>
				<regexp name="rgbCode"/>
				<regexp name="systemColor"/>
			</regexp-list>
		</property>
		<property name="border-bottom-color" description="">
			<category-list>
				<category value="visual"/>
			</category-list>
			<literal-list>
				<literal value="inherit"/>
			</literal-list>
			<regexp-list>
				<regexp name="colorName"/>
				<regexp name="colorCode"/>
				<regexp name="rgbCode"/>
				<regexp name="systemColor"/>
			</regexp-list>
		</property>
		<property name="border-left-color" description="">
			<category-list>
				<category value="visual"/>
			</category-list>
			<literal-list>
				<literal value="inherit"/>
			</literal-list>
			<regexp-list>
				<regexp name="colorName"/>
				<regexp name="colorCode"/>
				<regexp name="rgbCode"/>
				<regexp name="systemColor"/>
			</regexp-list>
		</property>


		<!-- begin medium properties -->
		<property name="border-style" description="">
			<category-list>
				<category value="visual" />
			</category-list>
			<literal-list>
				<literal value="inherit" />
				<literal value="none" />
				<literal value="hidden" />
				<literal value="dotted" />
				<literal value="dashed" />
				<literal value="solid" />
				<literal value="double" />
				<literal value="groove" />
				<literal value="ridge" />
				<literal value="inset" />
				<literal value="outset" />
			</literal-list>
		</property>
		<property name="border-top-style" default="none"
			description="">
			<category-list>
				<category value="visual" />
			</category-list>
			<literal-list>
				<literal value="inherit" />
			</literal-list>
		</property>
		<property name="border-right-style" default="none"
			description="">
			<category-list>
				<category value="visual" />
			</category-list>
			<literal-list>
				<literal value="inherit" />
			</literal-list>
			<shorthand-list>
				<shorthand name="border-style" />
			</shorthand-list>
		</property>
		<property name="border-bottom-style" default="none"
			description="">
			<category-list>
				<category value="visual" />
			</category-list>
			<literal-list>
				<literal value="inherit" />
			</literal-list>
			<shorthand-list>
				<shorthand name="border-style" />
			</shorthand-list>
		</property>
		<property name="border-left-style" default="none"
			description="">
			<category-list>
				<category value="visual" />
			</category-list>
			<literal-list>
				<literal value="inherit" />
			</literal-list>
			<shorthand-list>
				<shorthand name="border-style" />
			</shorthand-list>
		</property>
		<property name="border-top-width" default="medium"
			description="">
			<category-list>
				<category value="visual" />
			</category-list>
			<literal-list>
				<literal value="inherit" />
			</literal-list>
			<shorthand-list>
				<shorthand name="border-width" />
			</shorthand-list>
		</property>
		<property name="border-right-width" default="medium"
			description="">
			<category-list>
				<category value="visual" />
			</category-list>
			<literal-list>
				<literal value="inherit" />
			</literal-list>
			<shorthand-list>
				<shorthand name="border-width" />
			</shorthand-list>
		</property>
		<property name="border-bottom-width" default="medium"
			description="">
			<category-list>
				<category value="visual" />
			</category-list>
			<literal-list>
				<literal value="inherit" />
			</literal-list>
			<shorthand-list>
				<shorthand name="border-width" />
			</shorthand-list>
		</property>
		<property name="border-left-width" default="medium"
			description="">
			<category-list>
				<category value="visual" />
			</category-list>
			<literal-list>
				<literal value="inherit" />
			</literal-list>
			<shorthand-list>
				<shorthand name="border-width" />
			</shorthand-list>
		</property>
		<property name="border-width" description="">
			<category-list>
				<category value="visual" />
			</category-list>
			<literal-list>
				<literal value="inherit" />
				<literal value="thin" />
				<literal value="medium" />
				<literal value="thick" />
			</literal-list>
			<regexp-list>
				<regexp name="length" />
			</regexp-list>
		</property>
		<property name="margin" description="">
			<category-list>
				<category value="visual" />
			</category-list>
			<literal-list>
				<literal value="inherit" />
				<literal value="auto" />
			</literal-list>
			<regexp-list>
				<regexp name="positiveLength" />
				<regexp name="positivePercentage" />
			</regexp-list>
		</property>
		<property name="margin-top" default="0" description="">
			<category-list>
				<category value="visual" />
			</category-list>
			<literal-list>
				<literal value="inherit" />
			</literal-list>
			<shorthand-list>
				<shorthand name="margin" />
			</shorthand-list>
		</property>
		<property name="margin-right" default="0" description="">
			<category-list>
				<category value="visual" />
			</category-list>
			<literal-list>
				<literal value="inherit" />
			</literal-list>
			<shorthand-list>
				<shorthand name="margin" />
			</shorthand-list>
		</property>
		<property name="margin-bottom" default="0" description="">
			<category-list>
				<category value="visual" />
			</category-list>

			<literal-list>
				<literal value="inherit" />
			</literal-list>
			<shorthand-list>
				<shorthand name="margin" />
			</shorthand-list>
		</property>
		<property name="margin-left" default="0" description="">
			<category-list>
				<category value="visual" />
			</category-list>
			<literal-list>
				<literal value="inherit" />
			</literal-list>
			<shorthand-list>
				<shorthand name="margin" />
			</shorthand-list>
		</property>
		<property name="outline-style" default="none" description="">
			<category-list>
				<category value="visual" />
				<category value="interactive" />
			</category-list>

			<literal-list>
				<literal value="inherit" />
			</literal-list>
			<shorthand-list>
				<shorthand name="border-style" />
			</shorthand-list>
		</property>
		<property name="outline-width" default="medium"
			description="">
			<category-list>
				<category value="visual" />
				<category value="interactive" />
			</category-list>
			<literal-list>
				<literal value="inherit" />
			</literal-list>
			<shorthand-list>
				<shorthand name="border-width" />
			</shorthand-list>
		</property>
		<property name="padding" description="">
			<category-list>
				<category value="visual" />
			</category-list>
			<literal-list>
				<literal value="inherit" />
			</literal-list>
			<regexp-list>
				<regexp name="length" />
				<regexp name="percentage" />
			</regexp-list>
		</property>
		<property name="padding-top" default="0" description="">
			<category-list>
				<category value="visual" />
			</category-list>
			<literal-list>
				<literal value="inherit" />
			</literal-list>
			<shorthand-list>
				<shorthand name="padding" />
			</shorthand-list>
		</property>
		<property name="padding-right" default="0" description="">
			<category-list>
				<category value="visual" />
			</category-list>
			<literal-list>
				<literal value="inherit" />
			</literal-list>
			<shorthand-list>
				<shorthand name="padding" />
			</shorthand-list>
		</property>
		<property name="padding-bottom" default="0" description="">
			<category-list>
				<category value="visual" />
			</category-list>
			<literal-list>
				<literal value="inherit" />
			</literal-list>
			<shorthand-list>
				<shorthand name="padding" />
			</shorthand-list>
		</property>
		<property name="padding-left" default="0" description="">
			<category-list>
				<category value="visual" />
			</category-list>
			<literal-list>
				<literal value="inherit" />
			</literal-list>
			<shorthand-list>
				<shorthand name="padding" />
			</shorthand-list>
		</property>
		<!-- end medium properties -->

		<!-- begin hard properties -->
		<property name="border" description="">
			<category-list>
				<category value="visual" />
			</category-list>

			<literal-list>
				<literal value="inherit" />
			</literal-list>
			<regexp-list>
				<regexp name="colorName" />
				<regexp name="colorCode" />
				<regexp name="rgbCode" />
				<regexp name="systemColor" />
			</regexp-list>
			<shorthand-list>
				<shorthand name="border-width" />
				<shorthand name="border-style" />
			</shorthand-list>
		</property>
		<property name="border-top" description="">
			<category-list>
				<category value="visual" />
			</category-list>
			<literal-list>
				<literal value="inherit" />
			</literal-list>
			<regexp-list>
				<regexp name="colorName" />
				<regexp name="colorCode" />
				<regexp name="rgbCode" />
				<regexp name="systemColor" />
			</regexp-list>
			<shorthand-list>
				<shorthand name="border-top-width" />
				<shorthand name="border-style" />
			</shorthand-list>
		</property>
		<property name="border-right" description="">
			<category-list>
				<category value="visual" />
			</category-list>
			<literal-list>
				<literal value="inherit" />
			</literal-list>
			<regexp-list>
				<regexp name="colorName" />
				<regexp name="colorCode" />
				<regexp name="rgbCode" />
				<regexp name="systemColor" />
			</regexp-list>
			<shorthand-list>
				<shorthand name="border-top-width" />
				<shorthand name="border-style" />
			</shorthand-list>
		</property>
		<property name="border-bottom" description="">
			<category-list>
				<category value="visual" />
			</category-list>
			<literal-list>
				<literal value="inherit" />
			</literal-list>
			<regexp-list>
				<regexp name="colorName" />
				<regexp name="colorCode" />
				<regexp name="rgbCode" />
				<regexp name="systemColor" />
			</regexp-list>
			<shorthand-list>
				<shorthand name="border-top-width" />
				<shorthand name="border-style" />
			</shorthand-list>
		</property>
		<property name="border-left" description="">
			<category-list>
				<category value="visual" />
			</category-list>
			<literal-list>
				<literal value="inherit" />
			</literal-list>
			<regexp-list>
				<regexp name="colorName" />
				<regexp name="colorCode" />
				<regexp name="rgbCode" />
				<regexp name="systemColor" />
			</regexp-list>
			<shorthand-list>
				<shorthand name="border-top-width" />
				<shorthand name="border-style" />
			</shorthand-list>
		</property>
		<property name="cue" description="">
			<category-list>
				<category value="aural" />
			</category-list>
			<literal-list>
				<literal value="inherit" />
			</literal-list>
			<shorthand-list>
				<shorthand name="cue-before" />
				<shorthand name="cue-after" />
			</shorthand-list>
		</property>
		<property name="list-style" description="">
			<category-list>
				<category value="visual" />
			</category-list>
			<literal-list>
				<literal value="inherit" />
			</literal-list>
			<shorthand-list>
				<shorthand name="list-style-type" />
				<shorthand name="list-style-position" />
				<shorthand name="list-style-image" />
			</shorthand-list>
		</property>
		<property name="marks" default="none" description="">
			<category-list>
				<category value="visual" />
				<category value="paged" />
			</category-list>
			<literal-list>
				<literal value="crop" />
				<literal value="cross" />
				<literal value="none" />
				<literal value="inherit" />
			</literal-list>
		</property>
		<property name="outline" description="">
			<category-list>
				<category value="visual" />
				<category value="interactive" />
			</category-list>
			<literal-list>
				<literal value="inherit" />
			</literal-list>
			<shorthand-list>
				<shorthand name="outline-color" />
				<shorthand name="outline-style" />
				<shorthand name="outline-width" />
			</shorthand-list>
		</property>
		<property name="pause" description="">
			<category-list>
				<category value="aural" />
			</category-list>
			<literal-list>
				<literal value="inherit" />
			</literal-list>
			<regexp-list>
				<regexp name="time" />
				<regexp name="percentage" />
			</regexp-list>
		</property>
		<property name="text-decoration" default="none"
			description="">
			<category-list>
				<category value="visual" />
			</category-list>
			<literal-list>
				<literal value="none" />
				<literal value="underline" />
				<literal value="overline" />
				<literal value="line-through" />
				<literal value="blink" />
				<literal value="inherit" />
			</literal-list>
		</property>
		<!-- end hard properties -->

	</css-rules>
</anti-samy-rules>
