Hallo zusammen, 

ich habe im Internet eine Erklärung gefunden, wie Verbindungsmittel-Sonderteile und "Profil"-Verbindungsmittel (z.B. Rundstähle die als Gewindestangen dienen sollen) in die Schraubenliste aufgenommen werden. Allerdings ist es ja so, dass Sonderteile in der Artikelliste aufgelistet werden und Profile in der Profilliste. Wenn aber jetzt diese Sonderteile (mit eindeutiger Modellrolle) in die Schraubenliste aufgenommen werden, müssen diese Teile aus der Artikel- bzw. Profilliste ausgeschlossen werden. 

Advance Steel - Filtering BOM's using XSLT - Part 2 | Advance Steel | Autodesk Knowledge Network

So ist mein Ansatz: 

Sowohl die Artikelliste als auch die Profilliste greifen auf die TensionRod.xslt Datei zu. Dazu habe ich diese kopiert und eine neue auf dieser Grundlage erzeugt, die den Ausschluss der Sonderteile steuern soll (ist als Datei angehangen). Darin wollte ich verweisen, das die Teile, die gesondert wurden (wie auf der Internetseite), nicht mit ausgewählt werden (not select). Allerdings funktioniert das nicht. 

<xsl:template match="@*|node()">
        <xsl:copy>
            <xsl:apply-templates select="*[not(self::singlepart[(part/role/@key = 'Special Part Bolt') and (part/@class='SpecialPart')])]"/>
        </xsl:copy>
    </xsl:template>

bzw: 


<xsl:template match="singlepart[(part/role/@key = 'Special Part Bolt') and (part/@class='Beam')]">
                               <xsl:copy>
                                               <xsl:apply-templates select="*[not(self::singlepart[(part/role/@key = 'Special Part Bolt') and (part/@class='Beam')])]"/>
                               </xsl:copy>
 </xsl:template>
 

(Zunächst wollte ich das erst mal für eins machen und schauen, ob das funktioniert)


Vielleicht hat ja jemand eine Idee.

Vielen Dank für die Mühe

Rapha