<?xml version="1.0" encoding="UTF-8"?>
<xs:schema 	xmlns:xs="http://www.w3.org/2001/XMLSchema" 
			xmlns:vs="http://schemas.microsoft.com/Visual-Studio-Intellisense" 
			elementFormDefault="qualified" 
			attributeFormDefault="unqualified" 
			vs:friendlyname="PowerShell Format Data" 
			vs:ishtmlschema="false" 
			xmlns:psfd="http://schemas.microsoft.com/PowerShell/FormatData/2007/09" 
			targetNamespace="http://schemas.microsoft.com/PowerShell/FormatData/2007/09">
	<xs:element name="Wrap">
		<xs:complexType/>
	</xs:element>
	<xs:element name="Width" type="xs:nonNegativeInteger">
		<xs:annotation>
			<xs:documentation>Contains the width of the column.</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="WideItem">
		<xs:complexType>
			<xs:all>
				<xs:element ref="psfd:PropertyName" minOccurs="0"/>
				<xs:element ref="psfd:FormatString" minOccurs="0"/>
				<xs:element ref="psfd:ScriptBlock" minOccurs="0"/>
			</xs:all>
		</xs:complexType>
	</xs:element>
	<xs:element name="WideEntry">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="psfd:EntrySelectedBy" minOccurs="0"/>
				<xs:element ref="psfd:WideItem"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="WideEntries">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="psfd:WideEntry" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="WideControl">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="psfd:WideEntries"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="ViewSelectedBy">
		<xs:annotation>
			<xs:documentation>Defines the .NET objects to which this view applies.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="psfd:SelectionSetName" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="psfd:TypeName" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="ViewDefinitions">
		<xs:annotation>
			<xs:documentation>Contains the definitions, referred to as views, for how object data is displayed.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="psfd:View" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="View">
		<xs:annotation>
			<xs:documentation>Contains the column and row definitions for a specific view. Note that a single view can be used by several objects.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="psfd:Name"/>
				<xs:element ref="psfd:OutOfBand" minOccurs="0"/>
				<xs:element ref="psfd:ViewSelectedBy"/>
				<xs:element ref="psfd:GroupBy" minOccurs="0"/>
				<xs:choice maxOccurs="unbounded">
					<xs:element ref="psfd:ListControl"/>
					<xs:element ref="psfd:TableControl"/>
					<xs:element ref="psfd:WideControl"/>
					<xs:element ref="psfd:CustomControl"/>
					<xs:element ref="psfd:Controls"/>
				</xs:choice>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Types">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="psfd:TypeName" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="TypeName" type="xs:string">
		<xs:annotation>
			<xs:documentation>Contains the name of the .NET object to which the view applies.</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="Text">
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="xs:string">
					<xs:attribute name="ResourceId" type="xs:string" use="optional"/>
					<xs:attribute name="BaseName" type="xs:string" use="optional"/>
					<xs:attribute name="AssemblyName" type="xs:string" use="optional"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="TableRowEntry">
		<xs:annotation>
			<xs:documentation>Defines the row information for the display view. This information defines what data is displayed in the columns of the display view, such as an object property or script block.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="psfd:Wrap" minOccurs="0"/>
				<xs:element ref="psfd:TableColumnItems"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="TableRowEntries">
		<xs:annotation>
			<xs:documentation>Defines the row information for the display view. This information defines what data is displayed in the columns of the display view, such as an object property or script block.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="psfd:TableRowEntry" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="TableHeaders">
		<xs:annotation>
			<xs:documentation>Defines the header information for the columns in the display view.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="psfd:TableColumnHeader" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="TableControl">
		<xs:annotation>
			<xs:documentation>Defines the column and row information for the display view.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="psfd:AutoSize" minOccurs="0"/>
				<xs:element ref="psfd:TableHeaders" minOccurs="0"/>
				<xs:element ref="psfd:TableRowEntries"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="TableColumnItems">
		<xs:annotation>
			<xs:documentation>Defines what type of data is displayed in each column of the display view, such as an object property or script block.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="psfd:TableColumnItem" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="TableColumnItem">
		<xs:annotation>
			<xs:documentation>Defines what type of data is displayed in a column of the display view, such as an object property or script block.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:all>
				<xs:element ref="psfd:PropertyName" minOccurs="0"/>
				<xs:element ref="psfd:ScriptBlock" minOccurs="0"/>
				<xs:element ref="psfd:FormatString" minOccurs="0"/>
				<xs:element ref="psfd:Alignment" minOccurs="0"/>
			</xs:all>
		</xs:complexType>
	</xs:element>
	<xs:element name="TableColumnHeader">
		<xs:annotation>
			<xs:documentation>Defines the header information for a column in the display view.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:all>
				<xs:annotation>
					<xs:documentation>Label would be expected to be mandatory, but PS registry.format.ps1xml defines an empty TableColumnHeader element</xs:documentation>
				</xs:annotation>
				<xs:element ref="psfd:Label" minOccurs="0"/>
				<xs:element ref="psfd:Width" minOccurs="0"/>
				<xs:element ref="psfd:Alignment" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Contains the alignment setting (Left, Centered, Right) that controls how the data is displayed in the column.</xs:documentation>
					</xs:annotation>
				</xs:element>
			</xs:all>
		</xs:complexType>
	</xs:element>
	<xs:element name="SelectionSets">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="psfd:SelectionSet"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="SelectionSetName" type="xs:string"/>
	<xs:element name="SelectionSet">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="psfd:Name"/>
				<xs:element ref="psfd:Types"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="ScriptBlock" type="xs:string">
		<xs:annotation>
			<xs:documentation>Contains the script block that generates the data that is displayed in the column.</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="PropertyName" type="xs:string">
		<xs:annotation>
			<xs:documentation>Contains the name of the .NET object property that is displayed in the column.</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="NewLine">
		<xs:complexType/>
	</xs:element>
	<xs:element name="Name" type="xs:string">
		<xs:annotation>
			<xs:documentation>Contains the name of the view. This name is not displayed, but it can be used when referencing which view is used by an object.</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="ListItems">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="psfd:ListItem" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="ListItem">
		<xs:complexType>
			<xs:all>
				<xs:element ref="psfd:PropertyName" minOccurs="0"/>
				<xs:element ref="psfd:Label" minOccurs="0"/>
				<xs:element ref="psfd:ScriptBlock" minOccurs="0"/>
			</xs:all>
		</xs:complexType>
	</xs:element>
	<xs:element name="ListEntry">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="psfd:EntrySelectedBy" minOccurs="0"/>
				<xs:element ref="psfd:ListItems"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="ListEntries">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="psfd:ListEntry" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="ListControl">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="psfd:ListEntries"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="LeftIndent" type="xs:nonNegativeInteger"/>
	<xs:element name="Label" type="xs:string">
		<xs:annotation>
			<xs:documentation>Contains the label that appears at the top of the column.</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="GroupBy">
		<xs:annotation>
			<xs:documentation>Defines how Windows PowerShell groups the objects of the view. For example, a directory listing is grouped by its parent. Each grouping needs a header, as defined by a control node, such as a TableControl node. The header is most relevant when the user performs a recursive directory listing.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:all>
				<xs:element ref="psfd:PropertyName" minOccurs="0"/>
				<xs:element ref="psfd:CustomControlName" minOccurs="0"/>
				<xs:element ref="psfd:Label" minOccurs="0"/>
				<xs:element ref="psfd:ScriptBlock" minOccurs="0"/>
			</xs:all>
		</xs:complexType>
	</xs:element>
	<xs:element name="Frame">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="psfd:FirstLineHanging" minOccurs="0"/>
				<xs:element ref="psfd:LeftIndent" minOccurs="0"/>
				<xs:element ref="psfd:CustomItem"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="FormatString" type="xs:string"/>
	<xs:element name="ExpressionBinding">
		<xs:complexType>
			<xs:all>
				<xs:element ref="psfd:ScriptBlock" minOccurs="0"/>
				<xs:element ref="psfd:PropertyName" minOccurs="0"/>
				<xs:element ref="psfd:ItemSelectionCondition" minOccurs="0"/>
				<xs:element ref="psfd:CustomControl" minOccurs="0"/>
				<xs:element ref="psfd:CustomControlName" minOccurs="0"/>
				<xs:element ref="psfd:EnumerateCollection" minOccurs="0"/>
			</xs:all>
		</xs:complexType>
	</xs:element>
	<xs:element name="EntrySelectedBy">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="psfd:TypeName"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="CustomItem">
		<xs:complexType mixed="true">
			<xs:choice maxOccurs="unbounded">
				<xs:element ref="psfd:ExpressionBinding"/>
				<xs:element ref="psfd:NewLine"/>
				<xs:element ref="psfd:Frame"/>
				<xs:element ref="psfd:Text"/>
			</xs:choice>
		</xs:complexType>
	</xs:element>
	<xs:element name="CustomEntry">
		<xs:complexType>
			<xs:all>
				<xs:element ref="psfd:CustomItem" minOccurs="0"/>
				<xs:element ref="psfd:EntrySelectedBy" minOccurs="0"/>
			</xs:all>
		</xs:complexType>
	</xs:element>
	<xs:element name="CustomEntries">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="psfd:CustomEntry" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="CustomControlName" type="xs:string"/>
	<xs:element name="CustomControl">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="psfd:CustomEntries"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Controls">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="psfd:Control" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Control">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="psfd:Name"/>
				<xs:element ref="psfd:CustomControl"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Configuration">
		<xs:complexType>
			<xs:all>
				<xs:element ref="psfd:SelectionSets" minOccurs="0"/>
				<xs:element ref="psfd:Controls" minOccurs="0"/>
				<xs:element ref="psfd:ViewDefinitions"/>
			</xs:all>
		</xs:complexType>
	</xs:element>
	<xs:element name="Alignment" type="xs:string">
		<xs:annotation>
			<xs:documentation>Contains the alignment setting (Left, Centered, Right) that controls how the data is displayed in the column.
</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="AutoSize"/>
	<xs:element name="OutOfBand"/>
	<xs:element name="FirstLineHanging" type="xs:nonNegativeInteger"/>
	<xs:element name="ItemSelectionCondition">
		<xs:complexType>
			<xs:all>
				<xs:element ref="psfd:ScriptBlock"/>
			</xs:all>
		</xs:complexType>
	</xs:element>
	<xs:element name="EnumerateCollection"/>
</xs:schema>

