<?xml version="1.0" encoding="utf-8"?>
<!--
 *	CFInternet
 *
 *	Copyright (c) 2014-2017 Mark Sobkow
 *	
 *	Licensed 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.
 *-->
<MSSBam
		xmlns="uri://msscodefactory/mssbam"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xmlns:xs="http://www.w3.org/2001/XMLSchema"
		xsi:schemaLocation="uri://msscodefactory/mssbam file:../bin/xsd/mssbam-2.9.xsd"
		Name="CFInternet"
		Revision="2.10"
		Description="CFInternet"
		ProjectRoot="net.sourceforge.MSSCodeFactory.CFInternet.2.10" >
	<Tld Name="org" >
		<TopDomain Name="apache" >
			<License Name="ApacheV2"
					Description="Apache Version 2 License">
Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);
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 &quot;AS IS&quot; 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.</License>
		</TopDomain>
		<TopDomain Name="gnu" >
			<License Name="GplV2"
					Description="GNU GPL v2+ License">
This project is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
.
This project is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
.
You should have received a copy of the GNU General Public License
along with this project.  If not, see http://www.gnu.org/licenses/.</License>
			<License Name="GplV3"
					Description="GNU GPL v3+ License">
This project is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
.
This project is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
.
You should have received a copy of the GNU General Public License
along with this project.  If not, see http://www.gnu.org/licenses/.</License>
			<License Name="LGplV2"
					Description="GNU Lesser/Library GPL v2+ License">
This project is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
.
This project is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Lesser Public License for more details.
.
You should have received a copy of the GNU Lesser Public License
along with this project.  If not, see http://www.gnu.org/licenses/.</License>
			<License Name="LGplV3"
					Description="GNU Lesser/Library GPL v3+ License">
This project is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
.
This project is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Lesser Public License for more details.
.
You should have received a copy of the GNU Lesser Public License
along with this project.  If not, see http://www.gnu.org/licenses/.</License>
		</TopDomain>
	</Tld>
	<Tld Name="net" >
		<TopDomain Name="sourceforge" >
			<TopProject Name="MSSCodeFactory" >
				<SubProject Name="CFInternet" >
					<MajorVersion Name="2" >
						<MinorVersion Name="10" >
<SchemaDef Name="CFInternet"
		DbName="CFINet210"
		Description=""
		DefaultLicense="org.apache.ApacheV2"
		ExtendCFCore="true"
		CopyrightHolder="Mark Sobkow"
		CopyrightPeriod="2014-2017"
		AuthorEMail="msobkow@sasktel.net"
		ProjectURL="http://msscodefactory.sourceforge.net/"
		PublishURI="http://msscodefactory.sourceforge.net/model-2.9/net-sourceforge-MSSCodeFactory-CFInternet-2-10-CFInternet.xml" >

	<SchemaRef Name="CFSecurity"
			RefModelName="net-sourceforge-MSSCodeFactory-CFSecurity-2-10-CFSecurity"
			IncludeRoot="net.sourceforge.MSSCodeFactory.CFSecurity.2.10.CFSecurity" />

	<Id64Gen Name="DomainIdGen"
			IsNullable="false"
			DefaultVisibility="true"
			MinValue="0"
			InitValue="0"
			NullValue="0"
			Dispenser="Tenant"
			Slice="204"
			BlockSize="1" />

	<StringType Name="DomainNameType"
			IsNullable="false"
			DefaultVisibility="true"
			MaxLen="64"
			ShowLines="1"
			InitValue="" />

	<Id64Gen Name="LicenseIdGen"
			IsNullable="false"
			DefaultVisibility="true"
			MinValue="0"
			InitValue="0"
			NullValue="0"
			Dispenser="Tenant"
			Slice="205"
			BlockSize="1" />

	<Id32Gen Name="MimeTypeIdGen"
			IsNullable="false"
			DefaultVisibility="true"
			DbName="MimeTypeIdGenSeq"
			MinValue="0"
			InitValue="0"
			NullValue="0"
			Slice="201"
			BlockSize="1" />

	<Id32Gen Name="URLProtocolIdGen"
			IsNullable="false"
			DefaultVisibility="true"
			DbName="URLProtoIdGenSeq"
			MinValue="0"
			InitValue="0"
			NullValue="0"
			Slice="202"
			BlockSize="1" />

	<Table Name="Domain"
			TableClassCode="DOMN"
			DbName="domdef"
			DefaultVisibility="true"
			IsInstantiable="true"
			HasHistory="true"
			HasAuditColumns="true"
			LookupIndex="DomainNameIdx"
			QualTable="Tenant"
			LoaderBehaviour="Update"
			SecScope="Tenant" >
		<TableCol Name="TenantId"
				IsNullable="false"
				DefaultVisibility="true"
				DataType="TenantIdGen" />
		<TableCol Name="Id"
				IsNullable="false"
				DefaultVisibility="true"
				GenerateId="true"
				DataType="DomainIdGen" />
		<TableCol Name="Name"
				DbName="safe_name"
				IsNullable="false"
				DefaultVisibility="true"
				DataType="DomainNameType" />
		<StringCol Name="Description"
				ShortName="Descr"
				IsNullable="true"
				DefaultVisibility="true"
				DbName="descr"
				MaxLen="1024"
				ShowLines="1" />
		<TableCol Name="SubDomainOfTenantId"
				IsNullable="true"
				DefaultVisibility="true"
				DbName="subdomtentid"
				DataType="TenantIdGen" />
		<TableCol Name="SubDomainOfId"
				IsNullable="true"
				DefaultVisibility="true"
				DbName="subdomofid"
				DataType="DomainIdGen" />
		<PrimaryIndex Name="DomainIdIdx"
				DefaultVisibility="true"
				IsDbMapped="true"
				IsUnique="true"
				DbName="domdef_pk"
				ShortName="PIdx"
				Suffix="IdIdx"
				Label="IdIdx" >
			<IndexCol Name="TenantId" IsAscending="true" DefaultVisibility="true" />
			<IndexCol Name="Id" IsAscending="true" DefaultVisibility="true" />
		</PrimaryIndex>
		<Index Name="DomainTenantIdx"
				DefaultVisibility="true"
				IsDbMapped="true"
				IsUnique="false"
				DbName="domdef_xtenant"
				ShortName="TenantIdx"
				Suffix="TenantIdx"
				Label="TenantIdx" >
			<IndexCol Name="TenantId" IsAscending="true" DefaultVisibility="true" />
		</Index>
		<Index Name="DomainSubDomainIdx"
				DefaultVisibility="true"
				IsDbMapped="true"
				IsUnique="false"
				DbName="domdef_subdomidx"
				ShortName="SubDomIdx"
				Suffix="SubDomIdx"
				Label="Sub Domain Index" >
			<IndexCol Name="SubDomainOfTenantId" IsAscending="true" DefaultVisibility="true" />
			<IndexCol Name="SubDomainOfId" IsAscending="true" DefaultVisibility="true" />
		</Index>
		<Index Name="DomainNameIdx"
				DefaultVisibility="true"
				IsDbMapped="true"
				IsUnique="true"
				DbName="domdef_unameidx"
				ShortName="NameIdx"
				Suffix="NameIdx"
				Label="Unique Name Index" >
			<IndexCol Name="SubDomainOfTenantId" IsAscending="true" DefaultVisibility="true" />
			<IndexCol Name="SubDomainOfId" IsAscending="true" DefaultVisibility="true" />
			<IndexCol Name="Name" IsAscending="true" DefaultVisibility="true" />
		</Index>
	</Table>

	<Table Name="License"
			TableClassCode="LIC"
			DbName="licn"
			DefaultVisibility="true"
			IsInstantiable="true"
			HasHistory="false"
			HasAuditColumns="false"
			LookupIndex="LicenseUNameIdx"
			QualTable="Tenant"
			LoaderBehaviour="Insert"
			SecScope="Tenant" >
		<TableCol Name="TenantId"
				IsNullable="false"
				DefaultVisibility="true"
				DataType="TenantIdGen" />
		<TableCol Name="Id"
				IsNullable="false"
				DefaultVisibility="true"
				GenerateId="true"
				DataType="LicenseIdGen" />
		<TableCol Name="DomainId"
				IsNullable="false"
				DefaultVisibility="true"
				DataType="DomainIdGen" />
		<TableCol Name="Name"
				DbName="safe_name"
				IsNullable="false"
				DefaultVisibility="true"
				DataType="DomainNameType" />
		<StringCol Name="Description"
				IsNullable="true"
				DefaultVisibility="true"
				DbName="descr"
				MaxLen="1023"
				ShowLines="1" />
		<TextCol Name="EmbeddedText"
				IsNullable="true"
				DefaultVisibility="true"
				MaxLen="8000"
				ShowLines="5"
				InitValue="" />
		<TextCol Name="FullText"
				IsNullable="true"
				DefaultVisibility="true"
				DbName="FullTxt"
				MaxLen="8000"
				ShowLines="5"
				InitValue="" />
		<PrimaryIndex Name="LicenseIdIdx"
				DefaultVisibility="true"
				IsDbMapped="true"
				IsUnique="true"
				DbName="lic_pk"
				Suffix="IdIdx"
				Label="LicenseIdx" >
			<IndexCol Name="TenantId" IsAscending="true" DefaultVisibility="true" />
			<IndexCol Name="Id" IsAscending="true" DefaultVisibility="true" />
		</PrimaryIndex>
		<Index Name="LicenseTenantIdx"
				DefaultVisibility="true"
				IsDbMapped="true"
				IsUnique="false"
				DbName="lic_xtenant"
				Suffix="LicnTenantIdx"
				Label="TenantIdx" >
			<IndexCol Name="TenantId" IsAscending="true" DefaultVisibility="true" />
		</Index>
		<Index Name="LicenseDomainIdx"
				DefaultVisibility="true"
				IsDbMapped="true"
				IsUnique="false"
				DbName="lic_xdom"
				Suffix="DomainIdx"
				Label="DomainIdx" >
			<IndexCol Name="TenantId" IsAscending="true" DefaultVisibility="true" />
			<IndexCol Name="DomainId" IsAscending="true" DefaultVisibility="true" />
		</Index>
		<Index Name="LicenseUNameIdx"
				DefaultVisibility="true"
				IsDbMapped="true"
				IsUnique="true"
				DbName="lic_xuname"
				Suffix="UNameIdx"
				Label="Unique Name Index" >
			<IndexCol Name="TenantId" IsAscending="true" DefaultVisibility="true" />
			<IndexCol Name="DomainId" IsAscending="true" DefaultVisibility="true" />
			<IndexCol Name="Name" IsAscending="true" DefaultVisibility="true" />
		</Index>
	</Table>

	<Table Name="MimeType"
			TableClassCode="MIME"
			DbName="MimeType"
			ShortName="MimeType"
			Label="MIME Type"
			Description="MIME Type is a global lookup"
			DefaultVisibility="true"
			IsInstantiable="true"
			HasHistory="true"
			HasAuditColumns="true"
			LookupIndex="MimeTypeUNameIdx"
			LoaderBehaviour="Update"
			SecScope="System" >
		<TableCol Name="MimeTypeId"
				Label="MIME Type Id"
				IsNullable="false"
				DefaultVisibility="true"
				GenerateId="true"
				DataType="MimeTypeIdGen" />
		<StringCol Name="Name"
				DbName="safe_name"
				IsNullable="false"
				DefaultVisibility="true"
				MaxLen="128"
				ShowLines="1"
				InitValue="" />
		<StringCol Name="FileTypes"
				IsNullable="true"
				DefaultVisibility="true"
				MaxLen="128"
				ShowLines="1"
				InitValue="" />
		<PrimaryIndex Name="MimeTypeIdIdx"
				DefaultVisibility="true"
				IsDbMapped="true"
				IsUnique="true"
				DbName="MimeType_pidx"
				ShortName="PIdx"
				Suffix="IdIdx" >
			<IndexCol Name="MimeTypeId" IsAscending="true" DefaultVisibility="true" />
		</PrimaryIndex>
		<Index Name="MimeTypeUNameIdx"
				DefaultVisibility="true"
				IsDbMapped="true"
				IsUnique="true"
				DbName="MimeType_xuname"
				ShortName="UName"
				Suffix="UNameIdx" >
			<IndexCol Name="Name" IsAscending="true" DefaultVisibility="true" />
		</Index>
	</Table>

	<Table Name="ProjectBase"
			TableClassCode="BPRJ"
			DbName="bprjdef"
			DefaultVisibility="true"
			IsInstantiable="false"
			HasHistory="true"
			HasAuditColumns="true"
			LoaderBehaviour="Update"
			SecScope="Tenant" >
		<TableCol Name="TenantId"
				IsNullable="false"
				DefaultVisibility="true"
				DataType="TenantIdGen" />
		<TableCol Name="Id"
				IsNullable="false"
				DefaultVisibility="true"
				GenerateId="true"
				DataType="DomainIdGen" />
		<PrimaryIndex Name="ProjectBaseIdIdx"
				DefaultVisibility="true"
				IsDbMapped="true"
				IsUnique="true"
				DbName="bprjdef_pk"
				ShortName="PIdx"
				Suffix="IdIdx"
				Label="IdIdx" >
			<IndexCol Name="TenantId" IsAscending="true" DefaultVisibility="true" />
			<IndexCol Name="Id" IsAscending="true" DefaultVisibility="true" />
		</PrimaryIndex>
		<SuperClassRelation Name="SuperClass"
				DbName="bprjdef_super"
				Label="SuperClass"
				Suffix="SuperClass"
				FromIndex="ProjectBaseIdIdx"
				ToIndex="Domain.DomainIdIdx"
				IsRequired="true"
				DefaultVisibility="true" >
			<RelationCol Name="TenantId" ToCol="TenantId" DefaultVisibility="true" />
			<RelationCol Name="Id" ToCol="Id" DefaultVisibility="true" />
		</SuperClassRelation>
	</Table>

	<Table Name="RealProject"
			TableClassCode="RPRJ"
			DbName="rprjdef"
			DefaultVisibility="true"
			IsInstantiable="false"
			HasHistory="true"
			HasAuditColumns="true"
			LoaderBehaviour="Update"
			SecScope="Tenant" >
		<TableCol Name="TenantId"
				IsNullable="false"
				DefaultVisibility="true"
				DataType="TenantIdGen" />
		<TableCol Name="Id"
				IsNullable="false"
				DefaultVisibility="true"
				DataType="DomainIdGen" />
		<PrimaryIndex Name="RealProjectIdIdx"
				DefaultVisibility="true"
				IsDbMapped="true"
				IsUnique="true"
				DbName="rprjdef_pk"
				ShortName="PIdx"
				Suffix="IdIdx"
				Label="IdIdx" >
			<IndexCol Name="TenantId" IsAscending="true" DefaultVisibility="true" />
			<IndexCol Name="Id" IsAscending="true" DefaultVisibility="true" />
		</PrimaryIndex>
		<SuperClassRelation Name="SuperClass"
				DbName="rprjdef_super"
				Label="SuperClass"
				Suffix="SuperClass"
				FromIndex="RealProjectIdIdx"
				ToIndex="ProjectBase.ProjectBaseIdIdx"
				IsRequired="true"
				DefaultVisibility="true" >
			<RelationCol Name="TenantId" ToCol="TenantId" DefaultVisibility="true" />
			<RelationCol Name="Id" ToCol="Id" DefaultVisibility="true" />
		</SuperClassRelation>
	</Table>

	<Table Name="SubProject"
			TableClassCode="SPRJ"
			DbName="sprjdef"
			DefaultVisibility="true"
			IsInstantiable="true"
			HasHistory="true"
			HasAuditColumns="true"
			QualTable="Tenant"
			LoaderBehaviour="Update"
			SecScope="Tenant" >
		<TableCol Name="TenantId"
				IsNullable="false"
				DefaultVisibility="true"
				DataType="TenantIdGen" />
		<TableCol Name="ParentProjectId"
				IsNullable="false"
				DefaultVisibility="true"
				DbName="pprj_id"
				DataType="DomainIdGen" />
		<TableCol Name="Id"
				IsNullable="false"
				DefaultVisibility="true"
				DataType="DomainIdGen" />
		<PrimaryIndex Name="SubProjectIdIdx"
				DefaultVisibility="true"
				IsDbMapped="true"
				IsUnique="true"
				DbName="sprjdef_pk"
				ShortName="PIdx"
				Suffix="IdIdx"
				Label="IdIdx" >
			<IndexCol Name="TenantId" IsAscending="true" DefaultVisibility="true" />
			<IndexCol Name="Id" IsAscending="true" DefaultVisibility="true" />
		</PrimaryIndex>
		<Index Name="SubProjectParentProjectIdx"
				DefaultVisibility="true"
				IsDbMapped="true"
				IsUnique="false"
				DbName="sprjdef_pprjidx"
				ShortName="ParentIdx"
				Suffix="ParentIdx"
				Label="Parent Index" >
			<IndexCol Name="TenantId" IsAscending="true" DefaultVisibility="true" />
			<IndexCol Name="ParentProjectId" IsAscending="true" DefaultVisibility="true" />
		</Index>
		<SuperClassRelation Name="SuperClass"
				DbName="sprjdef_super"
				Label="SuperClass"
				Suffix="SuperClass"
				FromIndex="SubProjectIdIdx"
				ToIndex="RealProject.RealProjectIdIdx"
				IsRequired="true"
				DefaultVisibility="true" >
			<RelationCol Name="TenantId" ToCol="TenantId" DefaultVisibility="true" />
			<RelationCol Name="Id" ToCol="Id" DefaultVisibility="true" />
		</SuperClassRelation>
	</Table>

	<Table Name="Tld"
			TableClassCode="GTld"
			DbName="tlddef"
			Label="Top Level Domain"
			DefaultVisibility="true"
			IsInstantiable="true"
			HasHistory="true"
			HasAuditColumns="true"
			QualTable="Tenant"
			LookupIndex="TldMyNameIdx"
			LoaderBehaviour="Update"
			SecScope="Tenant" >
		<TableCol Name="TenantId"
				IsNullable="false"
				DefaultVisibility="true"
				DataType="TenantIdGen" />
		<TableCol Name="Id"
				IsNullable="false"
				DefaultVisibility="true"
				GenerateId="false"
				DataType="DomainIdGen" />
		<TableCol Name="MyName"
				DbName="my_name"
				IsNullable="false"
				DefaultVisibility="true"
				DataType="DomainNameType" />
		<PrimaryIndex Name="TldIdIdx"
				DefaultVisibility="true"
				IsDbMapped="true"
				IsUnique="true"
				DbName="tlddef_pk"
				ShortName="PIdx"
				Suffix="IdIdx"
				Label="IdIdx" >
			<IndexCol Name="TenantId" IsAscending="true" DefaultVisibility="true" />
			<IndexCol Name="Id" IsAscending="true" DefaultVisibility="true" />
		</PrimaryIndex>
		<Index Name="TldTenantIdx"
				DefaultVisibility="true"
				IsDbMapped="true"
				IsUnique="false"
				DbName="tlddef_tenantidx"
				ShortName="TldTenant"
				Suffix="TldTenantIdx"
				Label="TldTenantIdx" >
			<IndexCol Name="TenantId" IsAscending="true" DefaultVisibility="true" />
		</Index>
		<Index Name="TldMyNameIdx"
				DefaultVisibility="true"
				IsDbMapped="true"
				IsUnique="true"
				DbName="tlddef_mynameidx"
				ShortName="MyNameIdx"
				Suffix="MyNameIdx"
				Label="MyNameIdx" >
			<IndexCol Name="TenantId" IsAscending="true" DefaultVisibility="true" />
			<IndexCol Name="MyName" IsAscending="true" DefaultVisibility="true" />
		</Index>
		<SuperClassRelation Name="SuperClass"
				DbName="tlddef_super"
				Label="SuperClass"
				Suffix="SuperClass"
				FromIndex="TldIdIdx"
				ToIndex="Domain.DomainIdIdx"
				IsRequired="true"
				DefaultVisibility="true" >
			<RelationCol Name="TenantId" ToCol="TenantId" DefaultVisibility="true" />
			<RelationCol Name="Id" ToCol="Id" DefaultVisibility="true" />
		</SuperClassRelation>
	</Table>

	<Table Name="TopDomain"
			TableClassCode="TDOM"
			DbName="tdomdef"
			DefaultVisibility="true"
			IsInstantiable="true"
			HasHistory="true"
			HasAuditColumns="true"
			QualTable="Tenant"
			LoaderBehaviour="Update"
			SecScope="Tenant" >
		<TableCol Name="TenantId"
				IsNullable="false"
				DefaultVisibility="true"
				DataType="TenantIdGen" />
		<TableCol Name="Id"
				IsNullable="false"
				DefaultVisibility="true"
				DataType="DomainIdGen" />
		<TableCol Name="TldId"
				IsNullable="false"
				DefaultVisibility="true"
				DataType="DomainIdGen" />
		<PrimaryIndex Name="TopDomainIdIdx"
				DefaultVisibility="true"
				IsDbMapped="true"
				IsUnique="true"
				DbName="tdomdef_pk"
				ShortName="PIdx"
				Suffix="IdIdx"
				Label="IdIdx" >
			<IndexCol Name="TenantId" IsAscending="true" DefaultVisibility="true" />
			<IndexCol Name="Id" IsAscending="true" DefaultVisibility="true" />
		</PrimaryIndex>
		<Index Name="TopDomainTldIdx"
				DefaultVisibility="true"
				IsDbMapped="true"
				IsUnique="false"
				DbName="tdomdef_tldidx"
				ShortName="TldIdx"
				Suffix="TldIdx"
				Label="TldIdx" >
			<IndexCol Name="TenantId" IsAscending="true" DefaultVisibility="true" />
			<IndexCol Name="TldId" IsAscending="true" DefaultVisibility="true" />
		</Index>
		<SuperClassRelation Name="SuperClass"
				DbName="tdomdef_super"
				Label="SuperClass"
				Suffix="SuperClass"
				FromIndex="TopDomainIdIdx"
				ToIndex="Domain.DomainIdIdx"
				IsRequired="true"
				DefaultVisibility="true" >
			<RelationCol Name="TenantId" ToCol="TenantId" DefaultVisibility="true" />
			<RelationCol Name="Id" ToCol="Id" DefaultVisibility="true" />
		</SuperClassRelation>
	</Table>

	<Table Name="TopProject"
			TableClassCode="TPRJ"
			DbName="tprjdef"
			DefaultVisibility="true"
			IsInstantiable="true"
			HasHistory="true"
			HasAuditColumns="true"
			QualTable="Tenant"
			LoaderBehaviour="Update"
			SecScope="Tenant" >
		<TableCol Name="TenantId"
				IsNullable="false"
				DefaultVisibility="true"
				DataType="TenantIdGen" />
		<TableCol Name="Id"
				IsNullable="false"
				DefaultVisibility="true"
				DataType="DomainIdGen" />
		<TableCol Name="TopDomainId"
				IsNullable="false"
				DefaultVisibility="true"
				DataType="DomainIdGen" />
		<PrimaryIndex Name="TopProjectIdIdx"
				DefaultVisibility="true"
				IsDbMapped="true"
				IsUnique="true"
				DbName="tprjdef_pk"
				ShortName="PIdx"
				Suffix="IdIdx"
				Label="IdIdx" >
			<IndexCol Name="TenantId" IsAscending="true" DefaultVisibility="true" />
			<IndexCol Name="Id" IsAscending="true" DefaultVisibility="true" />
		</PrimaryIndex>
		<Index Name="TopProjectTopDomainIdx"
				DefaultVisibility="true"
				IsDbMapped="true"
				IsUnique="false"
				DbName="tprjdef_topdom"
				ShortName="TopDomainIdx"
				Suffix="TopDomainIdx"
				Label="Top Domain Index" >
			<IndexCol Name="TenantId" IsAscending="true" DefaultVisibility="true" />
			<IndexCol Name="TopDomainId" IsAscending="true" DefaultVisibility="true" />
		</Index>
		<SuperClassRelation Name="SuperClass"
				DbName="tprjdef_super"
				Label="SuperClass"
				Suffix="SuperClass"
				FromIndex="TopProjectIdIdx"
				ToIndex="RealProject.RealProjectIdIdx"
				IsRequired="true"
				DefaultVisibility="true" >
			<RelationCol Name="TenantId" ToCol="TenantId" DefaultVisibility="true" />
			<RelationCol Name="Id" ToCol="Id" DefaultVisibility="true" />
		</SuperClassRelation>
	</Table>

	<Table Name="URLProtocol"
			TableClassCode="UPRT"
			DbName="URLProto"
			ShortName="URLProto"
			Label="URL Protocol"
			Description="URL Protocol is a global lookup"
			DefaultVisibility="true"
			IsInstantiable="true"
			HasHistory="true"
			HasAuditColumns="true"
			LookupIndex="URLProtocolUNameIdx"
			LoaderBehaviour="Update"
			SecScope="System" >
		<TableCol Name="URLProtocolId"
				Label="URL Protocol Id"
				IsNullable="false"
				DefaultVisibility="true"
				GenerateId="true"
				DataType="URLProtocolIdGen" />
		<StringCol Name="Name"
				DbName="safe_name"
				IsNullable="false"
				DefaultVisibility="true"
				MaxLen="16"
				ShowLines="1"
				InitValue="" />
		<StringCol Name="Description"
				IsNullable="false"
				DefaultVisibility="true"
				MaxLen="50"
				ShowLines="1"
				InitValue="" />
		<BoolCol Name="IsSecure"
				IsNullable="false"
				DefaultVisibility="true"
				InitValue="false" />
		<PrimaryIndex Name="URLProtocolIdIdx"
				DefaultVisibility="true"
				IsDbMapped="true"
				IsUnique="true"
				DbName="URLProto_pidx"
				ShortName="PIdx"
				Suffix="IdIdx" >
			<IndexCol Name="URLProtocolId" IsAscending="true" DefaultVisibility="true" />
		</PrimaryIndex>
		<Index Name="URLProtocolUNameIdx"
				DefaultVisibility="true"
				IsDbMapped="true"
				IsUnique="true"
				DbName="URLProto_xuname"
				ShortName="UName"
				Suffix="UNameIdx" >
			<IndexCol Name="Name" IsAscending="true" DefaultVisibility="true" />
		</Index>
		<Index Name="URLProtocolIsSecureIdx"
				DefaultVisibility="true"
				IsDbMapped="true"
				IsUnique="false"
				DbName="URLProto_xsecure"
				ShortName="IsSec"
				Suffix="IsSecureIdx" >
			<IndexCol Name="IsSecure" IsAscending="true" DefaultVisibility="true" />
		</Index>
	</Table>

	<Table Name="Version"
			TableClassCode="VERN"
			DbName="verndef"
			DefaultVisibility="true"
			IsInstantiable="false"
			HasHistory="true"
			HasAuditColumns="true"
			LoaderBehaviour="Update"
			SecScope="Tenant" >
		<TableCol Name="TenantId"
				IsNullable="false"
				DefaultVisibility="true"
				DataType="TenantIdGen" />
		<TableCol Name="Id"
				IsNullable="false"
				DefaultVisibility="true"
				DataType="DomainIdGen" />
		<PrimaryIndex Name="VersionIdIdx"
				DefaultVisibility="true"
				IsDbMapped="true"
				IsUnique="true"
				DbName="verndef_pk"
				ShortName="PIdx"
				Suffix="IdIdx"
				Label="IdIdx" >
			<IndexCol Name="TenantId" IsAscending="true" DefaultVisibility="true" />
			<IndexCol Name="Id" IsAscending="true" DefaultVisibility="true" />
		</PrimaryIndex>
		<SuperClassRelation Name="SuperClass"
				DbName="verndef_super"
				Label="SuperClass"
				Suffix="SuperClass"
				FromIndex="VersionIdIdx"
				ToIndex="ProjectBase.ProjectBaseIdIdx"
				IsRequired="true"
				DefaultVisibility="true" >
			<RelationCol Name="TenantId" ToCol="TenantId" DefaultVisibility="true" />
			<RelationCol Name="Id" ToCol="Id" DefaultVisibility="true" />
		</SuperClassRelation>
	</Table>

	<Table Name="MajorVersion"
			TableClassCode="MJVR"
			DbName="mjverdef"
			DefaultVisibility="true"
			IsInstantiable="true"
			HasHistory="true"
			HasAuditColumns="true"
			QualTable="Tenant"
			LoaderBehaviour="Update"
			SecScope="Tenant" >
		<TableCol Name="TenantId"
				IsNullable="false"
				DefaultVisibility="true"
				DataType="TenantIdGen" />
		<TableCol Name="Id"
				IsNullable="false"
				DefaultVisibility="true"
				DataType="DomainIdGen" />
		<TableCol Name="ParentProjectId"
				IsNullable="false"
				DefaultVisibility="true"
				DbName="pprj_id"
				DataType="DomainIdGen" />
		<PrimaryIndex Name="MajorVersionIdIdx"
				DefaultVisibility="true"
				IsDbMapped="true"
				IsUnique="true"
				DbName="mjverdef_pk"
				ShortName="PIdx"
				Suffix="IdIdx"
				Label="IdIdx" >
			<IndexCol Name="TenantId" IsAscending="true" DefaultVisibility="true" />
			<IndexCol Name="Id" IsAscending="true" DefaultVisibility="true" />
		</PrimaryIndex>
		<Index Name="MajorVersionParentProjectIdx"
				DefaultVisibility="true"
				IsDbMapped="true"
				IsUnique="false"
				DbName="mjverdef_pprjidx"
				ShortName="PPrjIdx"
				Suffix="PPrjIdx"
				Label="Parent Project Index" >
			<IndexCol Name="TenantId" IsAscending="true" DefaultVisibility="true" />
			<IndexCol Name="ParentProjectId" IsAscending="true" DefaultVisibility="true" />
		</Index>
		<SuperClassRelation Name="SuperClass"
				DbName="mjverdef_super"
				Label="SuperClass"
				Suffix="SuperClass"
				FromIndex="MajorVersionIdIdx"
				ToIndex="Version.VersionIdIdx"
				IsRequired="true"
				DefaultVisibility="true" >
			<RelationCol Name="TenantId" ToCol="TenantId" DefaultVisibility="true" />
			<RelationCol Name="Id" ToCol="Id" DefaultVisibility="true" />
		</SuperClassRelation>
	</Table>

	<Table Name="MinorVersion"
			TableClassCode="MNVR"
			DbName="mnverdef"
			DefaultVisibility="true"
			IsInstantiable="true"
			HasHistory="true"
			HasAuditColumns="true"
			QualTable="Tenant"
			LoaderBehaviour="Update"
			SecScope="Tenant" >
		<TableCol Name="TenantId"
				IsNullable="false"
				DefaultVisibility="true"
				DataType="TenantIdGen" />
		<TableCol Name="Id"
				IsNullable="false"
				DefaultVisibility="true"
				DataType="DomainIdGen" />
		<TableCol Name="MajorId"
				IsNullable="false"
				DefaultVisibility="true"
				DataType="DomainIdGen" />
		<PrimaryIndex Name="MinorVersionIdIdx"
				DefaultVisibility="true"
				IsDbMapped="true"
				IsUnique="true"
				DbName="mnverdef_pk"
				ShortName="PIdx"
				Suffix="IdIdx"
				Label="IdIdx" >
			<IndexCol Name="TenantId" IsAscending="true" DefaultVisibility="true" />
			<IndexCol Name="Id" IsAscending="true" DefaultVisibility="true" />
		</PrimaryIndex>
		<Index Name="MinorVersionMajorIdx"
				DefaultVisibility="true"
				IsDbMapped="true"
				IsUnique="false"
				DbName="mnverdef_majoridx"
				ShortName="Major"
				Suffix="MajorIdx"
				Label="MajorIdx" >
			<IndexCol Name="TenantId" IsAscending="true" DefaultVisibility="true" />
			<IndexCol Name="MajorId" IsAscending="true" DefaultVisibility="true" />
		</Index>
		<SuperClassRelation Name="SuperClass"
				DbName="mnverdef_super"
				Label="SuperClass"
				Suffix="SuperClass"
				FromIndex="MinorVersionIdIdx"
				ToIndex="Version.VersionIdIdx"
				IsRequired="true"
				DefaultVisibility="true" >
			<RelationCol Name="TenantId" ToCol="TenantId" DefaultVisibility="true" />
			<RelationCol Name="Id" ToCol="Id" DefaultVisibility="true" />
		</SuperClassRelation>
	</Table>

	<TableAddendum FromTable="Domain">
		<Relation Name="Tenant"
				RelationType="Owner"
				DbName="dom_tenant"
				Label="Tenant"
				Suffix="Tenant"
				FromIndex="DomainTenantIdx"
				ToIndex="Tenant.TenantIdIdx"
				IsRequired="true"
				DefaultVisibility="true" >
			<RelationCol Name="TenantId" ToCol="Id" DefaultVisibility="true" />
		</Relation>
		<Relation Name="ParentDomain"
				RelationType="Container"
				DbName="dom_pardom"
				Label="Parent Domain"
				Suffix="ParentDomain"
				FromIndex="DomainSubDomainIdx"
				ToIndex="Domain.DomainIdIdx"
				IsRequired="false"
				DefaultVisibility="true" >
			<RelationCol Name="SubDomainOfTenantId" ToCol="TenantId" DefaultVisibility="true" />
			<RelationCol Name="SubDomainOfId" ToCol="Id" DefaultVisibility="true" />
		</Relation>
		<Relation Name="Licenses"
				RelationType="Components"
				DbName="dom_licn"
				Label="License"
				Suffix="License"
				FromIndex="DomainIdIdx"
				ToIndex="License.LicenseDomainIdx"
				IsRequired="false"
				IsXsdContainer="true"
				DefaultVisibility="true" >
			<RelationCol Name="TenantId" ToCol="TenantId" DefaultVisibility="true" />
			<RelationCol Name="Id" ToCol="DomainId" DefaultVisibility="true" />
		</Relation>
		<Relation Name="SubDomain"
				RelationType="Components"
				DbName="dom_subdom"
				Label="Sub Domain"
				Suffix="SubDomain"
				FromIndex="DomainIdIdx"
				ToIndex="Domain.DomainSubDomainIdx"
				IsRequired="false"
				IsXsdContainer="true"
				DefaultVisibility="true" >
			<RelationCol Name="TenantId" ToCol="SubDomainOfTenantId" DefaultVisibility="true" />
			<RelationCol Name="Id" ToCol="SubDomainOfId" DefaultVisibility="true" />
		</Relation>
	</TableAddendum>

	<TableAddendum FromTable="License">
		<Relation Name="Owner"
				RelationType="Owner"
				DbName="licn_owner"
				Label="Tenant"
				Suffix="Tenant"
				FromIndex="LicenseTenantIdx"
				ToIndex="Tenant.TenantIdIdx"
				IsRequired="true"
				DefaultVisibility="true" >
			<RelationCol Name="TenantId" ToCol="Id" DefaultVisibility="true" />
		</Relation>
		<Relation Name="Domain"
				RelationType="Container"
				DbName="licn_dom"
				Label="Domain"
				Suffix="Domain"
				FromIndex="LicenseDomainIdx"
				ToIndex="Domain.DomainIdIdx"
				IsRequired="true"
				DefaultVisibility="true" >
			<RelationCol Name="TenantId" ToCol="TenantId" DefaultVisibility="true" />
			<RelationCol Name="DomainId" ToCol="Id" DefaultVisibility="true" />
		</Relation>
	</TableAddendum>

	<TableAddendum FromTable="MajorVersion">
		<Relation Name="ParentProject"
				RelationType="Container"
				DbName="mjver_parproj"
				Label="Major Version Parent Project"
				Suffix="Parent"
				FromIndex="MajorVersionParentProjectIdx"
				ToIndex="RealProject.RealProjectIdIdx"
				Narrowed="Domain.ParentDomain"
				IsRequired="true"
				DefaultVisibility="true" >
			<RelationCol Name="TenantId" ToCol="TenantId" DefaultVisibility="true" />
			<RelationCol Name="ParentProjectId" ToCol="Id" DefaultVisibility="true" />
		</Relation>
		<Relation Name="MinorVersion"
				RelationType="Components"
				DbName="mjver_mnver"
				Label="Minor Version"
				Suffix="MinorVersion"
				FromIndex="MajorVersionIdIdx"
				ToIndex="MinorVersion.MinorVersionMajorIdx"
				IsRequired="false"
				IsXsdContainer="true"
				DefaultVisibility="true" >
			<RelationCol Name="TenantId" ToCol="TenantId" DefaultVisibility="true" />
			<RelationCol Name="Id" ToCol="MajorId" DefaultVisibility="true" />
		</Relation>
	</TableAddendum>

	<TableAddendum FromTable="MinorVersion">
		<Relation Name="MajorVersion"
				RelationType="Container"
				DbName="mnver_mjver"
				Label="Major Version"
				Suffix="MajorVersion"
				FromIndex="MinorVersionMajorIdx"
				ToIndex="MajorVersion.MajorVersionIdIdx"
				IsRequired="true"
				Narrowed="Domain.ParentDomain"
				DefaultVisibility="true" >
			<RelationCol Name="TenantId" ToCol="TenantId" DefaultVisibility="true" />
			<RelationCol Name="MajorId" ToCol="Id" DefaultVisibility="true" />
		</Relation>
	</TableAddendum>

	<TableAddendum FromTable="RealProject">
		<Relation Name="MajorVersion"
				RelationType="Components"
				DbName="rproj_mjver"
				Label="Major Version"
				Suffix="MajorVersion"
				FromIndex="RealProjectIdIdx"
				ToIndex="MajorVersion.MajorVersionParentProjectIdx"
				IsRequired="false"
				IsXsdContainer="true"
				DefaultVisibility="true" >
			<RelationCol Name="TenantId" ToCol="TenantId" DefaultVisibility="true" />
			<RelationCol Name="Id" ToCol="ParentProjectId" DefaultVisibility="true" />
		</Relation>
	</TableAddendum>

	<TableAddendum FromTable="SubProject">
		<Relation Name="ParentProject"
				RelationType="Container"
				DbName="subproj_pproj"
				Label="Parent Project"
				Suffix="ParentProject"
				FromIndex="SubProjectParentProjectIdx"
				ToIndex="TopProject.TopProjectIdIdx"
				Narrowed="Domain.ParentDomain"
				IsRequired="true"
				DefaultVisibility="true" >
			<RelationCol Name="TenantId" ToCol="TenantId" DefaultVisibility="true" />
			<RelationCol Name="ParentProjectId" ToCol="Id" DefaultVisibility="true" />
		</Relation>
	</TableAddendum>

	<TableAddendum FromTable="Tenant">
		<Relation Name="TenantDomain"
				RelationType="Components"
				DbName="tenant_dombas"
				Label="Domain Base Objects"
				Suffix="Domain"
				FromIndex="TenantIdIdx"
				ToIndex="Domain.DomainTenantIdx"
				IsRequired="false"
				DefaultVisibility="true" >
			<RelationCol Name="Id" ToCol="TenantId" DefaultVisibility="true" />
		</Relation>
		<Relation Name="TenantTld"
				RelationType="Components"
				DbName="tenant_tld"
				Label="Top Level Domains"
				Suffix="Tld"
				FromIndex="TenantIdIdx"
				ToIndex="Tld.TldTenantIdx"
				IsRequired="false"
				IsXsdContainer="true"
				DefaultVisibility="true" >
			<RelationCol Name="Id" ToCol="TenantId" DefaultVisibility="true" />
		</Relation>
	</TableAddendum>

	<TableAddendum FromTable="Tld">
		<Relation Name="ConTenant"
				RelationType="Container"
				DbName="tld_tent"
				Label="ConTenant"
				Suffix="ConTenant"
				FromIndex="TldTenantIdx"
				ToIndex="Tenant.TenantIdIdx"
				IsRequired="true"
				DefaultVisibility="true" >
			<RelationCol Name="TenantId" ToCol="Id" DefaultVisibility="true" />
		</Relation>
		<Relation Name="TopDomain"
				RelationType="Components"
				DbName="tld_topdom"
				Label="Top Domain"
				Suffix="TopDomain"
				FromIndex="TldIdIdx"
				ToIndex="TopDomain.TopDomainTldIdx"
				IsRequired="false"
				IsXsdContainer="true"
				DefaultVisibility="true" >
			<RelationCol Name="TenantId" ToCol="TenantId" DefaultVisibility="true" />
			<RelationCol Name="Id" ToCol="TldId" DefaultVisibility="true" />
		</Relation>
	</TableAddendum>

	<TableAddendum FromTable="TopDomain">
		<Relation Name="Tld"
				RelationType="Container"
				DbName="topdom_tld"
				Label="Tld"
				Suffix="Tld"
				FromIndex="TopDomainTldIdx"
				ToIndex="Tld.TldIdIdx"
				IsRequired="true"
				Narrowed="Domain.ParentDomain"
				DefaultVisibility="true" >
			<RelationCol Name="TenantId" ToCol="TenantId" DefaultVisibility="true" />
			<RelationCol Name="TldId" ToCol="Id" DefaultVisibility="true" />
		</Relation>
		<Relation Name="TopProject"
				RelationType="Components"
				DbName="topdom_topproj"
				Label="Top Project"
				Suffix="TopProject"
				FromIndex="TopDomainIdIdx"
				ToIndex="TopProject.TopProjectTopDomainIdx"
				IsRequired="false"
				IsXsdContainer="true"
				DefaultVisibility="true" >
			<RelationCol Name="TenantId" ToCol="TenantId" DefaultVisibility="true" />
			<RelationCol Name="Id" ToCol="TopDomainId" DefaultVisibility="true" />
		</Relation>
	</TableAddendum>

	<TableAddendum FromTable="TopProject">
		<Relation Name="TopDomain"
				RelationType="Container"
				DbName="topproj_topdom"
				Label="Top Domain"
				Suffix="TopDomain"
				FromIndex="TopProjectTopDomainIdx"
				ToIndex="TopDomain.TopDomainIdIdx"
				IsRequired="true"
				Narrowed="Domain.ParentDomain"
				DefaultVisibility="true" >
			<RelationCol Name="TenantId" ToCol="TenantId" DefaultVisibility="true" />
			<RelationCol Name="TopDomainId" ToCol="Id" DefaultVisibility="true" />
		</Relation>
		<Relation Name="SubProject"
				RelationType="Components"
				DbName="topproj_subproj"
				Label="Sub Project"
				Suffix="SubProject"
				FromIndex="TopProjectIdIdx"
				ToIndex="SubProject.SubProjectParentProjectIdx"
				IsRequired="false"
				IsXsdContainer="true"
				DefaultVisibility="true" >
			<RelationCol Name="TenantId" ToCol="TenantId" DefaultVisibility="true" />
			<RelationCol Name="Id" ToCol="ParentProjectId" DefaultVisibility="true" />
		</Relation>
	</TableAddendum>

	<TableAddendum FromTable="Domain">
		<DelDep Name="DelDomLicense" DelDepChain="Licenses" />
		<DelDep Name="DelDomSubDomain" DelDepChain="SubDomain" />
	</TableAddendum>

	<TableAddendum FromTable="MajorVersion">
		<DelDep Name="DelMajVerLicense" DelDepChain="Licenses" />
		<DelDep Name="DelMajVerSubDomain" DelDepChain="SubDomain" />
		<DelDep Name="DelMinorVersions" DelDepChain="MinorVersion" />
	</TableAddendum>

	<TableAddendum FromTable="MinorVersion">
		<DelDep Name="DelMinVerLicense" DelDepChain="Licenses" />
		<DelDep Name="DelMinVerSubDomain" DelDepChain="SubDomain" />
	</TableAddendum>

	<TableAddendum FromTable="RealProject">
		<DelDep Name="DelMajorVersions" DelDepChain="MajorVersion" />
		<DelDep Name="DelRealProjLicense" DelDepChain="Licenses" />
		<DelDep Name="DelRealProjSubDomain" DelDepChain="SubDomain" />
	</TableAddendum>

	<TableAddendum FromTable="SubProject">
		<DelDep Name="DelMajorVersions" DelDepChain="MajorVersion" />
		<DelDep Name="DelSubProjLicense" DelDepChain="Licenses" />
		<DelDep Name="DelSubProjSubDomain" DelDepChain="SubDomain" />
	</TableAddendum>

	<TableAddendum FromTable="Tenant">
		<DelDep Name="DelTlds" DelDepChain="TenantTld" />
		<DelDep Name="DelTopDomains" DelDepChain="TenantTld.TopDomain" />
	</TableAddendum>

	<TableAddendum FromTable="Tld">
		<DelDep Name="DelTopDomains" DelDepChain="TopDomain" />
	</TableAddendum>

	<TableAddendum FromTable="TopDomain">
		<DelDep Name="DelTopDomLicense" DelDepChain="Licenses" />
		<DelDep Name="DelTopDomTopProject" DelDepChain="TopProject" />
		<DelDep Name="DelTopDomSubDomain" DelDepChain="SubDomain" />
	</TableAddendum>

	<TableAddendum FromTable="TopProject">
		<DelDep Name="DelTopProjSubProjects" DelDepChain="SubProject" />
		<DelDep Name="DelTopProjMajorVersions" DelDepChain="MajorVersion" />
		<DelDep Name="DelTopProjLicense" DelDepChain="Licenses" />
		<DelDep Name="DelTopProjSubDomain" DelDepChain="SubDomain" />
	</TableAddendum>
</SchemaDef>
						</MinorVersion>
					</MajorVersion>
				</SubProject>
			</TopProject>
		</TopDomain>
	</Tld>
</MSSBam>
