view Xml/IBBXmlResolver.cs @ 51:c3b217a708f4

Re #24: Add limits * Add an absolute limit that isn't affected by the number it is a limit against * Add hashcode and equals implementations
author IBBoard <dev@ibboard.co.uk>
date Tue, 20 Oct 2009 19:48:37 +0000
parents cc7fae81afec
children 0f88d32b22cc
line wrap: on
line source

// This file (IBBXmlResolver.cs) is a part of the IBBoard library and is copyright 2009 IBBoard.
//
// The file and the library/program it is in are licensed under the GNU LGPL license, either version 3 of the License or (at your option) any later version. Please see COPYING.LGPL for more information and the full license.

using System;
using System.Xml;

namespace IBBoard.Xml
{
	/// <summary>
	/// Summary description for IBBXmlResolver.
	/// </summary>
	public class IBBXmlResolver : XmlUrlResolver
	{
		private string baseFilePath = "";

		public IBBXmlResolver(string basePath)
		{
			baseFilePath = basePath;
		}

		public override Uri ResolveUri(Uri baseUri, string relativeUri)
		{
			if (relativeUri.StartsWith("dtds/"))
			{
				//Uri uri = base.ResolveUri(baseUri, relativeUri);
				return new Uri(Uri.UriSchemeFile + "://" + baseFilePath + Constants.DirectoryString + relativeUri);
			}
			else
			{
				return base.ResolveUri(baseUri, relativeUri);
			}
		}
	}
}