<Definition>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  xmlns:p="http://www.plmx.org/2007/10/PLMX" exclude-result-prefixes="p">
  <xsl:output method="xml" encoding="utf-8" version="1.0"  indent="yes" />
  <xsl:template match="/p:plmx">
    <ItemDs>      
      <!--<xsl:apply-templates mode="item" select="."/>-->
      <xsl:apply-templates  select="p:part|p:document" >
        <xsl:with-param name="fnPrefix" select="''"/>
      </xsl:apply-templates>
    </ItemDs>
  </xsl:template>
  <xsl:template match="p:part|p:document">
    <xsl:param name="fnPrefix"/>
    <xsl:for-each select="p:structureMarkupItems/p:structureMarkupItem">
      <xsl:call-template name="Structure">
        <xsl:with-param name="fnPrefix" select="$fnPrefix"/>
      </xsl:call-template>
      <xsl:apply-templates select="p:part|p:document">
        <xsl:with-param name="fnPrefix" select="concat($fnPrefix,'.')"/>
      </xsl:apply-templates>
    </xsl:for-each>
  </xsl:template>
  <xsl:template name="Structure" match="p:plmx" mode="item">
    <xsl:param name="fnPrefix"/>
    <Structure>
      <Status>
        <xsl:value-of select ="p:markupCode"/>
      </Status>
      <Find>
        <xsl:value-of select="$fnPrefix"/>
        <xsl:value-of select="p:findNumber"/>
      </Find>
      <Owner>
        <xsl:value-of select ="p:part/p:owner/p:abbreviation | p:document/p:owner/p:abbreviation"/>
      </Owner>
      <Class>
        <xsl:choose>
          <xsl:when test="name(p:part|p:document)='part'">Part</xsl:when>
          <xsl:otherwise>Document</xsl:otherwise>
        </xsl:choose>
      </Class>
      <Type>
        <xsl:value-of select ="p:part/p:type/p:name | p:document/p:type/p:name"/>
      </Type>
      <Number>
        <xsl:value-of select="p:part/p:identifier | p:document/p:identifier "/>
      </Number>
      <Revision>
        <xsl:value-of select ="p:part/p:revision | p:document/p:revision"/>
      </Revision>
      
      <Name>
        <xsl:value-of select="p:part/p:name | p:document/p:name"/>
      </Name>
      <RefDes>
        <xsl:for-each select="p:referenceDesignators/p:referenceDesignator">
          <xsl:value-of select="."/>
          <xsl:if test="position()!=last()">,</xsl:if>
        </xsl:for-each>
      </RefDes>
      <Notes>
        <xsl:value-of select="p:notes"/>
      </Notes>
      <Quantity>
        <xsl:value-of select ="p:quantity/p:value"/>
      </Quantity>
      <Unit>
        <xsl:value-of select ="p:quantity/p:unitOfMeasure/p:name"/>
      </Unit>
      <Per>
        <xsl:if test="name(p:part|p:document)='part'">
        <xsl:value-of select ="p:bomCategory"/>
        </xsl:if>
      </Per>
    </Structure>
  </xsl:template>
</xsl:stylesheet>
  <settings exportAffectedItems="False" exportApprovals="False" exportItemFiles="False" exportMaterials="False" exportNotes="True" exportRevisionFiles="False" exportSourceCurrent="True" exportSourceMarkup="True" exportStructureCurrent="True" exportStructureMarkup="True" exportTasks="False" isImport="false" />
  <Provider>c7ad7e17-5c54-49b3-9795-ef12ba4c671c</Provider>
</Definition>