<?xml version="1.0" encoding="utf-8" ?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" 
		xmlns:maml="http://ddue.schemas.microsoft.com/authoring/2003/5" 
		xmlns:doc="http://ddue.schemas.microsoft.com/authoring/internal"
		targetNamespace="http://ddue.schemas.microsoft.com/authoring/2003/5" 
		elementFormDefault="qualified"
        attributeFormDefault="unqualified"
        >

	<!-- Schema documentation -->
	<annotation>
		<documentation>
			This schema definition defines the common reference types within
			the Content Studio schema.
		</documentation>
	</annotation>

	<!-- include and import declarations -->
	<include schemaLocation="base.xsd"/>

	<!-- element declarations -->
	<element name="application" type="maml:textType">
		<annotation>
			<documentation>
				The application element describes the name of an application,
				such as Microsoft Windows or Notepad.
			</documentation>
			<appinfo>
			    <doc:localizable>true</doc:localizable>
				<doc:type>character</doc:type>
			</appinfo>
		</annotation>
	</element>

	<element name="database" type="maml:textType">
		<annotation>
			<documentation>
				The database element describes a database.
			</documentation>
			<appinfo>
			    <doc:localizable>true</doc:localizable>
				<doc:type>character</doc:type>
			</appinfo>
		</annotation>
	</element>
	
	<element name="fictitiousUri">
		<annotation>
			<documentation>
				The fictitiousUri element describes a fictitious internet address, 
				such as a web or email address.
			</documentation>
			<appinfo>
			    <doc:localizable>true</doc:localizable>
				<doc:type>character</doc:type>
			</appinfo>
		</annotation>
		<complexType>
			<simpleContent>
				<extension base="maml:textType">
					<attribute name="type">
						<simpleType>
							<restriction base="token">
								<enumeration value="email"/>
								<enumeration value="web"/>
								<enumeration value="ftp"/>
							</restriction>
						</simpleType>
					</attribute>
				</extension>
			</simpleContent>
		</complexType>
	</element>
	
	<element name="localUri">
		<annotation>
			<documentation>
				The localUri element describes the path of some local resource.
			</documentation>
			<appinfo>
			    <doc:localizable>true</doc:localizable>
				<doc:type>character</doc:type>
			</appinfo>
		</annotation>
		<complexType>
			<simpleContent>
				<extension base="maml:textType">
					<attribute name="type">
						<simpleType>
							<restriction base="token">
								<enumeration value="absolutePath"/>
								<enumeration value="relativePath"/>
								<enumeration value="registryKey"/>
								<enumeration value="allUsersDocAndSettings"/>
								<enumeration value="currentUserDocAndSettings"/>
								<enumeration value="programFiles"/>
								<enumeration value="Windows"/>
							</restriction>
						</simpleType>
					</attribute>
				</extension>
			</simpleContent>
		</complexType>
	</element>
	
	<element name="environmentVariable" type="maml:textType">
		<annotation>
			<documentation>
				The environmentVariable element describes an environment variable in an operating system.
			</documentation>
			<appinfo>
			    <doc:localizable>true</doc:localizable>
				<doc:type>character</doc:type>
			</appinfo>
		</annotation>
	</element>
	
	<element name="errorInline" type="maml:textType">
		<annotation>
			<documentation>
				The errorInline element describes an error.
			</documentation>
			<appinfo>
			    <doc:localizable>true</doc:localizable>
				<doc:type>character</doc:type>
			</appinfo>
		</annotation>
	</element>
	
	<element name="hardware" type="maml:textType">
		<annotation>
			<documentation>
				The hardware element describes a physical part of a computer system.
			</documentation>
			<appinfo>
			    <doc:localizable>true</doc:localizable>
				<doc:type>character</doc:type>
			</appinfo>
		</annotation>
	</element>

	<element name="literal" type="maml:textType">
		<annotation>
			<documentation>
				The literal element describes a literal value.
			</documentation>
			<appinfo>
			    <doc:localizable>true</doc:localizable>
				<doc:type>character</doc:type>
			</appinfo>
		</annotation>
	</element>
	
	<element name="markup" type="maml:textType">
		<annotation>
			<documentation>
				The markup element describes a string of markup, such as TeX or XML.
			</documentation>
			<appinfo>
			    <doc:localizable>true</doc:localizable>
				<doc:type>character</doc:type>
			</appinfo>
		</annotation>
	</element>
		
	<element name="command">
		<annotation>
			<documentation>
				The command element describes the name of an executable or other software 
				application than can be run.
			</documentation>
			<appinfo>
			    <doc:localizable>true</doc:localizable>
				<doc:type>character</doc:type>
			</appinfo>
		</annotation>
		<complexType mixed="true">
			<choice minOccurs="0" maxOccurs="unbounded">
				<element name="replaceable" type="maml:textType">
					<annotation>
						<documentation>
							The replaceable element describes a part of a command or of a
							function that must be replaced by the user.
						</documentation>
						<appinfo>
						    <doc:localizable>true</doc:localizable>
				            <doc:type>character</doc:type>
				        </appinfo>
					</annotation>
				</element>
			</choice>		
		</complexType>
	</element>

	<element name="token" type="maml:textType">
		<annotation>
			<documentation>
				The token element describes a symbol that represents a grammatical construct
				or is merely a link to something else. Tokens are particularly important 
				in lexical parsing.
			</documentation>
			<appinfo>
			    <doc:localizable>true</doc:localizable>
				<doc:type>character</doc:type>
			</appinfo>
		</annotation>
	</element>

	<element name="codeInline">
		<annotation>
			<documentation>
				The codeInline element describes a string of code of a particular computer language.
			</documentation>
			<appinfo>
			    <doc:localizable>false</doc:localizable>
				<doc:type>character</doc:type>
			</appinfo>
		</annotation>
		<complexType mixed="true">
			<choice minOccurs="0" maxOccurs="unbounded">
	        		<element name="legacyItalic" type="maml:textType" />
	        		<element name="codeFeaturedElement" type="maml:textType" />
			</choice>
		</complexType>

	</element>

	<element name="languageKeyword" type="maml:textType">
		<annotation>
			<documentation>
				The languageKeyword element describes a keyword of a particular computer language.
			</documentation>
			<appinfo>
			    <doc:localizable>false</doc:localizable>
				<doc:type>character</doc:type>
			</appinfo>
		</annotation>
	</element>
	
	<element name="computerOutputInline" type="maml:textType">
		<annotation>
			<documentation>
				The computerOutputInline element describes output from either a console prompt
				or from a UI form.
			</documentation>
			<appinfo>
			    <doc:localizable>true</doc:localizable>
				<doc:type>character</doc:type>
			</appinfo>
		</annotation>
	</element>

	<element name="ui" type="maml:textType">
		<annotation>
			<documentation>
				The ui element describes a user interface component.
			</documentation>
			<appinfo>
			    <doc:localizable>true</doc:localizable>
				<doc:type>character</doc:type>
			</appinfo>
		</annotation>
	</element>
		
	<element name="system" type="maml:textType">
		<annotation>
			<documentation>
				The system element describes any system commands (eg: command line switches, commands)
			</documentation>
			<appinfo>
			    <doc:localizable>false</doc:localizable>
				<doc:type>character</doc:type>
			</appinfo>
		</annotation>
	</element>
	
	<element name="placeholder" type="maml:textType">
		<annotation>
			<documentation>
				This element is used as a placeholder.
			</documentation>
			<appinfo>
			    <doc:localizable>true</doc:localizable>
				<doc:type>character</doc:type>
			</appinfo>
		</annotation>
	</element>
	
	<element name="math" type="maml:textType">
		<annotation>
			<documentation>
				This element is used for any math equations, etc.
			</documentation>
			<appinfo>
			    <doc:localizable>false</doc:localizable>
				<doc:type>character</doc:type>
			</appinfo>
		</annotation>
	</element>
	
	<element name="newTerm" type="maml:textType">
		<annotation>
			<documentation>
				The newTerm element is used to introduce new technologies, etc
			</documentation>
			<appinfo>
			    <doc:localizable>true</doc:localizable>
				<doc:type>character</doc:type>
			</appinfo>
		</annotation>
	</element>

	<element name="unmanagedCodeEntityReference" type="maml:textType">
		<annotation>
			<documentation>
				The unManagedCodeEntityReference element is used to refer to unmanaged code entities.
			</documentation>
			<appinfo>
				<doc:localizable>false</doc:localizable>
				<doc:type>character</doc:type>
			</appinfo>
		</annotation>
	</element>
	
	<!-- group declarations -->
	<group name="inlineSoftwareGroup">
		<choice>
			<element ref="maml:application"/>
			<element ref="maml:database"/>
			<element ref="maml:fictitiousUri"/>
			<element ref="maml:localUri"/>
			<element ref="maml:environmentVariable"/>
			<element ref="maml:errorInline"/>
			<element ref="maml:hardware"/>
			<element ref="maml:literal"/>
			<element ref="maml:markup"/>
			<element ref="maml:command"/>
			<element ref="maml:token"/>
			<element ref="maml:codeInline"/>
			<element ref="maml:languageKeyword"/>
			<element ref="maml:computerOutputInline"/>
			<element ref="maml:ui"/>
			<element ref="maml:math"/>
			<element ref="maml:system"/>
			<element ref="maml:newTerm"/>
			<element ref="maml:placeholder"/>
			<element ref="maml:unmanagedCodeEntityReference"/>
		</choice>		
	</group>
	
</schema>