<?xml version='1.0' ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
	<xsl:output method="xml" indent="yes"/>
	<xsl:template match="/">
		<ProductCatalogImport xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Dots_Catalog_Product_Only.xsd">
			<Products>
				<xsl:for-each select="table/row[column.0 = 'Product']">
					<Product>
						<Name>
							<xsl:value-of select="column.1"/>
						</Name>
						<ProductAttributeGroupCode>
							<xsl:value-of select="column.2"/>
						</ProductAttributeGroupCode>
						<Description>
							<xsl:value-of select="column.3"/>
						</Description>
						<ActiveFlag>
							<xsl:value-of select="column.4"/>
						</ActiveFlag>
						<Style>
							<xsl:value-of select="column.5"/>
						</Style>
						<DisplayMsrp>
							<xsl:value-of select="column.6"/>
						</DisplayMsrp>
						<DisplayPrice>
							<xsl:value-of select="column.7"/>
						</DisplayPrice>
						<ImageFile>
							<xsl:value-of select="column.8"/>
						</ImageFile>
						<Keyword>
							<xsl:value-of select="column.9"/>
						</Keyword>
						<MetaDescription>
							<xsl:value-of select="column.10"/>
						</MetaDescription>
						<MetaKeywords>
							<xsl:value-of select="column.11"/>
						</MetaKeywords>
						<MoreInfoContent>
							<xsl:value-of select="column.12"/>
						</MoreInfoContent>
						<ProductTypeId>
							<xsl:value-of select="column.13"/>
						</ProductTypeId>
						<PromoGroupCode>
							<xsl:value-of select="column.14"/>
						</PromoGroupCode>
						<DisplayAttribute1>
							<xsl:value-of select="column.15"/>
						</DisplayAttribute1>
						<DisplayAttribute2>
							<xsl:value-of select="column.16"/>
						</DisplayAttribute2>
						<SiteId>
							<xsl:value-of select="column.17"/>
						</SiteId>
						<CategoryToProducts>
							<xsl:apply-templates select="following-sibling::row[column.0 = 'CategoryToProduct'][1]"/>
						</CategoryToProducts>
						<ProductSwatches>
							<xsl:apply-templates select="following-sibling::row[column.0 = 'ProductSwatch'][1]"/>
						</ProductSwatches>
						<ProductVariants>
							<xsl:apply-templates select="following-sibling::row[column.0 = 'ProductVariant'][1]"/>
						</ProductVariants>
						<Attributes>
							<xsl:apply-templates select="following-sibling::row[column.0 = 'Attribute'][1]"/>
						</Attributes>
					</Product>
				</xsl:for-each>
			</Products>
		</ProductCatalogImport>
	</xsl:template>
	<xsl:template match="row[column.0 = 'CategoryToProduct']">
		<CategoryToProduct>
			<CategoryCode>
				<xsl:value-of select="column.1"/>
			</CategoryCode>
			<SequenceNo>
				<xsl:value-of select="column.2"/>
			</SequenceNo>
			<ActiveFlag>
				<xsl:value-of select="column.3"/>
			</ActiveFlag>
		</CategoryToProduct>
		<xsl:apply-templates select="following-sibling::row[1][column.0 = 'CategoryToProduct']"/>
	</xsl:template>
	<xsl:template match="row[column.0 = 'ProductSwatch']">
		<ProductSwatch>
			<ColorName>
				<xsl:value-of select="column.1"/>
			</ColorName>
			<SwatchImageFile>
				<xsl:value-of select="column.2"/>
			</SwatchImageFile>
			<RecoloredImageFile>
				<xsl:value-of select="column.3"/>
			</RecoloredImageFile>
		</ProductSwatch>
		<xsl:apply-templates select="following-sibling::row[1][column.0 = 'ProductSwatch']"/>
	</xsl:template>
	<xsl:template match="row[column.0 = 'ProductVariant']">
		<ProductVariant>
			<Sku>
				<xsl:value-of select="column.1"/>
			</Sku>
			<Price>
				<xsl:value-of select="column.2"/>
			</Price>
			<ColorName>
				<xsl:value-of select="column.3"/>
			</ColorName>
			<InventoryLevel>
				<xsl:value-of select="column.4"/>
			</InventoryLevel>
			<SizeName>
				<xsl:value-of select="column.5"/>
			</SizeName>
			<ColorCode>
				<xsl:value-of select="column.6"/>
			</ColorCode>
			<SizeCode>
				<xsl:value-of select="column.7"/>
			</SizeCode>
			<TaxableFlag>
				<xsl:value-of select="column.8"/>
			</TaxableFlag>
			<TaxCode>
				<xsl:value-of select="column.9"/>
			</TaxCode>
			<ActiveFlag>
				<xsl:value-of select="column.10"/>
			</ActiveFlag>
			<OriginalPrice>
				<xsl:value-of select="column.11"/>
			</OriginalPrice>
			<UPC>
				<xsl:value-of select="column.12"/>
			</UPC>
			<HazMatClass>
				<xsl:value-of select="column.13"/>
			</HazMatClass>
			<ShipInBag>
				<xsl:value-of select="column.14"/>
			</ShipInBag>
			<ProductVariantPrices>
				<xsl:apply-templates select="following-sibling::row[1][column.0 = 'ProductVariantPrice']"/>
			</ProductVariantPrices>
		</ProductVariant>
		<xsl:apply-templates select="following-sibling::row[1][column.0 = 'ProductVariant']"/>
	</xsl:template>
	<xsl:template match="row[column.0 = 'ProductVariantPrice']">
		<ProductVariantPrice>
			<SourceId>
				<xsl:value-of select="column.1"/>
			</SourceId>
			<Quantity>
				<xsl:value-of select="column.2"/>
			</Quantity>
			<Price>
				<xsl:value-of select="column.3"/>
			</Price>
			<ActiveFlag>
				<xsl:value-of select="column.4"/>
			</ActiveFlag>
		</ProductVariantPrice>
		<xsl:apply-templates select="following-sibling::row[1][column.0 = 'ProductVariantPrice']"/>
	</xsl:template>
	<xsl:template match="row[column.0 = 'Attribute']">
		<Attribute>
			<ProductAttributeCode>
				<xsl:value-of select="column.1"/>
			</ProductAttributeCode>
			<ProductAttributeValue>
				<xsl:value-of select="column.2"/>
			</ProductAttributeValue>
		</Attribute>
		<xsl:apply-templates select="following-sibling::row[1][column.0 = 'Attribute']"/>
	</xsl:template>
</xsl:stylesheet><!-- Stylus Studio meta-information - (c) 2004-2009. Progress Software Corporation. All rights reserved.

<metaInformation>
	<scenarios>
		<scenario default="yes" name="Scenario1" userelativepaths="yes" externalpreview="no" url="converter:CSV:sep=|?1DOTSPRDCT.TXT" htmlbaseurl="" outputurl="" processortype="saxon8" useresolver="yes" profilemode="0" profiledepth="" profilelength=""
		          urlprofilexml="" commandline="" additionalpath="" additionalclasspath="" postprocessortype="none" postprocesscommandline="" postprocessadditionalpath="" postprocessgeneratedext="" validateoutput="yes" validator="custom"
		          customvalidator="Saxonica">
			<advancedProp name="sInitialMode" value=""/>
			<advancedProp name="bXsltOneIsOkay" value="true"/>
			<advancedProp name="bSchemaAware" value="true"/>
			<advancedProp name="bXml11" value="false"/>
			<advancedProp name="iValidation" value="0"/>
			<advancedProp name="bExtensions" value="true"/>
			<advancedProp name="iWhitespace" value="0"/>
			<advancedProp name="sInitialTemplate" value=""/>
			<advancedProp name="bTinyTree" value="true"/>
			<advancedProp name="xsltVersion" value="2.0"/>
			<advancedProp name="bWarnings" value="true"/>
			<advancedProp name="bUseDTD" value="false"/>
			<advancedProp name="iErrorHandling" value="fatal"/>
			<validatorSchema value="Dots_Catalog_Product_Only.xsd"/>
		</scenario>
	</scenarios>
	<MapperMetaTag>
		<MapperInfo srcSchemaPathIsRelative="yes" srcSchemaInterpretAsXML="no" destSchemaPath="" destSchemaRoot="" destSchemaPathIsRelative="yes" destSchemaInterpretAsXML="no">
			<SourceSchema srcSchemaPath="converter:CSV:sep=|?1DOTSPRDCT.TXT" srcSchemaRoot="table" AssociatedInstance="" loaderFunction="document" loaderFunctionUsesURI="no"/>
		</MapperInfo>
		<MapperBlockPosition>
			<template match="/">
				<block path="ProductCatalogImport/Products/xsl:for-each" x="152" y="90"/>
				<block path="ProductCatalogImport/Products/xsl:for-each/Product/CategoryToProducts/xsl:apply-templates" x="72" y="49"/>
				<block path="ProductCatalogImport/Products/xsl:for-each/Product/ProductSwatches/xsl:apply-templates" x="177" y="103"/>
				<block path="ProductCatalogImport/Products/xsl:for-each/Product/ProductVariants/xsl:apply-templates" x="32" y="49"/>
				<block path="ProductCatalogImport/Products/xsl:for-each/Product/Attributes/xsl:apply-templates" x="112" y="169"/>
			</template>
			<template match="row[column.0 = 'CategoryToProduct']">
				<block path="xsl:apply-templates" x="152" y="18"/>
			</template>
			<template match="row[column.0 = 'ProductVariant']">
				<block path="ProductVariant/ProductVariantPrices/xsl:apply-templates" x="152" y="103"/>
				<block path="xsl:apply-templates" x="152" y="18"/>
			</template>
			<template match="row[column.0 = 'ProductVariantPrice']">
				<block path="xsl:apply-templates" x="152" y="18"/>
			</template>
			<template match="row[column.0 = 'Attribute']">
				<block path="xsl:apply-templates" x="152" y="18"/>
			</template>
			<template match="row[column.0 = 'ProductSwatch']">
				<block path="xsl:apply-templates" x="136" y="18"/>
			</template>
		</MapperBlockPosition>
		<TemplateContext></TemplateContext>
		<MapperFilter side="source"></MapperFilter>
	</MapperMetaTag>
</metaInformation>
-->