<#@ template debug="true" hostspecific="true" language="C#" #>
<#@ assembly name="System.Xml" #>
<#@ import namespace="System.IO" #>
<#@ import namespace="System.Xml.Xsl" #>
<#@ output extension=".Generated.cs" #>
/*
# -----------------------------------------------------------------------------------
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the ""License""); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
# 
# http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an ""AS IS"" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# -----------------------------------------------------------------------------------
*/
//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace TagSoup 
{
	/// <summary>
	/// This class provides a Schema that has been preinitialized with HTML
	/// elements, attributes, and character entity declarations.  All the declarations
	/// normally provided with HTML 4.01 are given, plus some that are IE-specific
	/// and NS4-specific.  Attribute declarations of type CDATA with no default
	/// value are not included.
	/// </summary>
	public class HTMLSchema : Schema 
	{
		// HTMLModels begin
		<#
			XslCompiledTransform transform = new XslCompiledTransform(true);
			transform.Load(this.Host.ResolvePath("tssl/tssl-models.xslt"));
			using(StringWriter writer = new StringWriter()) 
			{
				transform.Transform(this.Host.ResolvePath("definitions/html.tssl"), null, writer);
				Write(writer.ToString());
			}
		#>  // HTMLModels end

		/// <summary>
		/// Returns a newly constructed HTMLSchema object independent of
		/// any existing ones.
		/// </summary>
		public HTMLSchema() 
		{
			<#
			  transform.Load(this.Host.ResolvePath("tssl/tssl.xslt"));
			  using(StringWriter writer = new StringWriter()) 
			  {
					transform.Transform(this.Host.ResolvePath("definitions/html.tssl"), null, writer);
					Write(writer.ToString());
			  }
			#>
		}
	}
}
