﻿<?xml version="1.0" encoding="utf-8" ?>
<DataModel VerticalId="News">
  <Classes>
    <Class Name="News" TopLevel="True">
      <Fields>
        <Field Name="TopicList" Type="Collection" ClassName="Topic" />
        <Field Name="PerMarketCategories" Type="Collection" ClassName="Categories" />
        <Field Name="SourceDefinitionList" Type="Collection" ClassName="SourceDefinition" />
        <Field Name="IsPersonalizationEnabled" Type="Boolean" />
      </Fields>
    </Class>

    <Class Name="Topic">
      <Fields>
        <Field Name="TopicType" Type="String" />
        <Field Name="Identifier" Type="String" IsKey="True" />
        <!-- The market is not a key, as topics are market-agnostic. -->
        <Field Name="Market" Type="String" />
        <Field Name="CreatedDateUTC" Type="Time" />
        <Field Name="DeletedDateUTC" Type="Time" />
      </Fields>
    </Class>

    <Class Name="Categories">
      <Fields>
        <Field Name="Market" Type="String" IsKey="True" />
        <Field Name="CategoryList" Type="Collection" ClassName="Category" />
      </Fields>
    </Class>

    <Class Name="SourceDefinition">
      <Fields>
        <Field Name="Market" Type="String" IsKey="True" />
        <Field Name="SourceId" Type="String" IsKey="True" />
        <Field Name="ReleaseNumber" Type="String" />
        <Field Name="FeedURI" Type="String" IsKey="True" />
        <Field Name="CreatedDateUTC" Type="Time" />
        <Field Name="DeletedDateUTC" Type="Time" />
        <Field Name="SourceType" Type="String" />
      </Fields>
    </Class>

    <Class Name="Category">
      <Fields>
        <Field Name="Identifier" Type="String" IsKey="True" />
        <Field Name="Market" Type="String" IsKey="True" />
        <Field Name="CreatedDateUTC" Type="Time" />
        <Field Name="DeletedDateUTC" Type="Time" />
        <Field Name="CategoryType" Type="String" />
        <Field Name="ContentId" Type="String" />
      </Fields>
    </Class>

  </Classes>
</DataModel>