﻿<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription"
    xmlns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription"
    elementFormDefault="qualified"
    xmlns:mstns="http://tempuri.org/XMLSchema.xsd"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:wm="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelWarrAndMain" >
  <xs:annotation>
    <xs:documentation>
      (c) 2008 Microsoft Corporation.  All rights reserved. The following schema for
      Microsoft SQL Server is presented in XML format and is for informational purposes
      only. Microsoft Corporation ("Microsoft") may have trademarks, copyrights, or
      other intellectual property rights covering subject matter in the schema.
      Microsoft does not make any representation or warranty regarding the schema
      or any product or item developed based on the schema. The schema is provided
      to you on an AS IS basis. Microsoft disclaims all express, implied and
      statutory warranties, including but not limited to the implied warranties of
      merchantability, fitness for a particular purpose, and freedom from infringement.
      Without limiting the generality of the foregoing, Microsoft does not make any
      warranty of any kind that any item developed based on the schema, or any portion
      of the schema, will not infringe any copyright, patent, trade secret, or other
      intellectual property right of any person or entity in any country. It is your
      responsibility to seek licenses for such intellectual property rights where
      appropriate. MICROSOFT SHALL NOT BE LIABLE FOR ANY DAMAGES OF ANY KIND ARISING
      OUT OF OR IN CONNECTION WITH THE USE OF THE SCHEMA, INCLUDING WITHOUT LIMITATION,
      ANY DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL (INCLUDING ANY LOST PROFITS),
      PUNITIVE OR SPECIAL DAMAGES, WHETHER OR NOT MICROSOFT HAS BEEN ADVISED OF SUCH DAMAGES.
    </xs:documentation>
  </xs:annotation>
	<xs:import
        namespace="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelWarrAndMain" />

	<xs:element name="ProductDescription" type="ProductDescription" />
	<xs:complexType name="ProductDescription">
		<xs:annotation>
			<xs:documentation>
				Product description has a summary blurb, if its manufactured elsewhere it
				includes a link to the manufacturers site for this component.
				Then it has optional zero or more sequences of features, pictures, categories
				and technical specifications.
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Summary" type="Summary" minOccurs="0" />
			<xs:element name="Manufacturer" type="Manufacturer" minOccurs="0" />
			<xs:element name="Features" type="Features" minOccurs="0" maxOccurs="unbounded" />
			<xs:element name="Picture" type="Picture" minOccurs="0" maxOccurs="unbounded" />
			<xs:element name="Category" type="Category" minOccurs="0" maxOccurs="unbounded" />
			<xs:element name="Specifications" type="Specifications" minOccurs="0" maxOccurs="unbounded" />
		</xs:sequence>
		<xs:attribute name="ProductModelID" type="xs:string" />
		<xs:attribute name="ProductModelName" type="xs:string" />
	</xs:complexType>

	<xs:complexType name="Summary" mixed="true" >
		<xs:sequence>
			<xs:any processContents="skip" namespace="http://www.w3.org/1999/xhtml" minOccurs="0" maxOccurs="unbounded" />
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="Manufacturer">
		<xs:sequence>
			<xs:element name="Name" type="xs:string" minOccurs="0" />
			<xs:element name="CopyrightURL" type="xs:string" minOccurs="0" />
			<xs:element name="Copyright" type="xs:string" minOccurs="0" />
			<xs:element name="ProductURL" type="xs:string" minOccurs="0" />
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="Picture">
		<xs:annotation>
			<xs:documentation>Pictures of the component, some standard sizes are "Large" for zoom in, "Small" for a normal web page and "Thumbnail" for product listing pages.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Name" type="xs:string" minOccurs="0" />
			<xs:element name="Angle" type="xs:string" minOccurs="0" />
			<xs:element name="Size" type="xs:string" minOccurs="0" />
			<xs:element name="ProductPhotoID" type="xs:integer" minOccurs="0" />
		</xs:sequence>
	</xs:complexType>

	<xs:annotation>
		<xs:documentation>Features of the component that are more "sales" oriented.</xs:documentation>
	</xs:annotation>

	<xs:complexType name="Features" mixed="true"  >
		<xs:sequence>
			<xs:element ref="wm:Warranty"  />
			<xs:element ref="wm:Maintenance"  />
			<xs:any processContents="skip"  namespace="##other" minOccurs="0" maxOccurs="unbounded" />
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="Specifications" mixed="true">
		<xs:annotation>
			<xs:documentation>A single technical aspect of the component.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:any processContents="skip" minOccurs="0" maxOccurs="unbounded" />
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="Category">
		<xs:annotation>
			<xs:documentation>A single categorization element that designates a classification taxonomy and a code within that classification type.  Optional description for default display if needed.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element ref="Taxonomy" />
			<xs:element ref="Code" />
			<xs:element ref="Description" minOccurs="0" />
		</xs:sequence>
	</xs:complexType>

	<xs:element name="Taxonomy" type="xs:string" />
	<xs:element name="Code" type="xs:string" />
	<xs:element name="Description" type="xs:string" />
</xs:schema>
