<?xml version="1.0" encoding="utf-8" ?>
<xs:schema 
    targetNamespace="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0"
    elementFormDefault="qualified"
    xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0"
    xmlns:xs="http://www.w3.org/2001/XMLSchema">

    <xs:annotation>
        <xs:documentation><!-- _locID_text="Description" _locComment="This string is displayed as a Intellisense tooltip. {Placeholder='XmlSiteMapProvider', 'SiteMap'}" -->XmlSiteMapProvider SiteMap File Schema</xs:documentation>
    </xs:annotation>

    <xs:complexType name="siteMapNodeType">
        <xs:choice minOccurs="0" maxOccurs="unbounded">
            <xs:element name="siteMapNode" type="siteMapNodeType" />
        </xs:choice>
        <xs:attributeGroup ref="urlNodeAttributes" />
        <xs:attributeGroup ref="fileNodeAttributes" />
        <xs:attributeGroup ref="providerNodeAttributes" />
        <xs:anyAttribute processContents="skip" />
    </xs:complexType>

    <xs:complexType name="siteMapType">
        <xs:choice minOccurs="0" maxOccurs="1">
            <xs:element name="siteMapNode" type="siteMapNodeType"/>
        </xs:choice>
        <xs:attributeGroup ref="siteMapAttributes" />
    </xs:complexType>

    <xs:element name="siteMap" type="siteMapType" />

    <xs:attributeGroup name="urlNodeAttributes">
        <xs:attribute name="url" type="xs:anyURI" />
        <xs:attribute name="title" type="xs:string" />
        <xs:attribute name="description" type="xs:string" />
        <xs:attribute name="roles" type="xs:string" />
        <xs:attribute name="resourceKey" type="xs:string" />
    </xs:attributeGroup>

    <xs:attributeGroup name="fileNodeAttributes">
        <xs:attribute name="siteMapFile" type="xs:string" />
        <xs:attribute name="securityTrimmingEnabled" type="small_boolean_Type" default="false" />
    </xs:attributeGroup>

    <xs:attributeGroup name="providerNodeAttributes">
        <xs:attribute name="provider" type="xs:string" />
    </xs:attributeGroup>

    <xs:attributeGroup name="siteMapAttributes">
        <xs:attribute name="enableLocalization" type="small_boolean_Type" default="false" />
    </xs:attributeGroup>

    <xs:simpleType name="small_boolean_Type">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="false" />
            <xs:enumeration value="true" />
        </xs:restriction>
    </xs:simpleType>
</xs:schema>