..
/
download
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0">
<!-- Add xlink attributes to linking elements. -->
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="dmRef">
<xsl:copy>
<xsl:attribute name="xlink:actuate">onRequest</xsl:attribute>
<xsl:attribute name="xlink:href">
<xsl:apply-templates select="dmRefIdent" mode="xlink"/>
<xsl:if test="@referredFragment">
<xsl:text>#</xsl:text>
<xsl:value-of select="@referredFragment"/>
</xsl:if>
</xsl:attribute>
<xsl:attribute name="xlink:show">
<xsl:choose>
<xsl:when test="behavior">
<xsl:apply-templates select="behavior" mode="xlink"/>
</xsl:when>
<xsl:otherwise>replace</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:if test="dmRefAddressItems/dmTitle">
<xsl:attribute name="xlink:title">
<xsl:apply-templates select="dmRefAddressItems/dmTitle" mode="xlink"/>
</xsl:attribute>
</xsl:if>
<xsl:attribute name="xlink:type">simple</xsl:attribute>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="refdm">
<xsl:copy>
<xsl:attribute name="xlink:actuate">onRequest</xsl:attribute>
<xsl:attribute name="xlink:href">
<xsl:choose>
<xsl:when test="dmcextension">DME-</xsl:when>
<xsl:otherwise>DMC-</xsl:otherwise>
</xsl:choose>
<xsl:if test="dmcextension">
<xsl:apply-templates select="dmcextension" mode="xlink"/>
<xsl:text>-</xsl:text>
</xsl:if>
<xsl:apply-templates select="avee" mode="xlink"/>
</xsl:attribute>
<xsl:attribute name="xlink:show">replace</xsl:attribute>
<xsl:if test="dmtitle">
<xsl:attribute name="xlink:title">
<xsl:apply-templates select="dmtitle" mode="xlink"/>
</xsl:attribute>
</xsl:if>
<xsl:attribute name="xlink:type">simple</xsl:attribute>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="pmRef">
<xsl:copy>
<xsl:attribute name="xlink:actuate">onRequest</xsl:attribute>
<xsl:attribute name="xlink:href">
<xsl:apply-templates select="pmRefIdent" mode="xlink"/>
</xsl:attribute>
<xsl:attribute name="xlink:show">
<xsl:choose>
<xsl:when test="behavior">
<xsl:apply-templates select="behavior" mode="xlink"/>
</xsl:when>
<xsl:otherwise>replace</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:if test="pmRefAddressItems/pmTitle">
<xsl:attribute name="xlink:title">
<xsl:apply-templates select="pmRefAddressItems/pmTitle" mode="xlink"/>
</xsl:attribute>
</xsl:if>
<xsl:attribute name="xlink:type">simple</xsl:attribute>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="refpm">
<xsl:copy>
<xsl:attribute name="xlink:actuate">onRequest</xsl:attribute>
<xsl:attribute name="xlink:href">
<xsl:text>URN:S1000D:PMC-</xsl:text>
<xsl:apply-templates select="pmc" mode="xlink"/>
</xsl:attribute>
<xsl:attribute name="xlink:show">replace</xsl:attribute>
<xsl:if test="pmtitle">
<xsl:attribute name="xlink:title">
<xsl:apply-templates select="pmtitle" mode="xlink"/>
</xsl:attribute>
</xsl:if>
<xsl:attribute name="xlink:type">simple</xsl:attribute>
</xsl:copy>
</xsl:template>
<xsl:template match="graphic">
<xsl:copy>
<xsl:attribute name="xlink:actuate">onRequest</xsl:attribute>
<xsl:attribute name="xlink:href">
<xsl:text>URN:S1000D:</xsl:text>
<xsl:value-of select="@infoEntityIdent|@boardno"/>
</xsl:attribute>
<xsl:if test="parent::figure/title">
<xsl:attribute name="xlink:title">
<xsl:apply-templates select="parent::figure/title" mode="xlink"/>
</xsl:attribute>
</xsl:if>
<xsl:attribute name="xlink:type">simple</xsl:attribute>
<xsl:attribute name="xlink:show">new</xsl:attribute>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="symbol">
<xsl:copy>
<xsl:attribute name="xlink:actuate">onLoad</xsl:attribute>
<xsl:attribute name="xlink:href">
<xsl:text>URN:S1000D:</xsl:text>
<xsl:value-of select="@infoEntityIdent|@boardno"/>
</xsl:attribute>
<xsl:attribute name="xlink:type">simple</xsl:attribute>
<xsl:attribute name="xlink:show">embed</xsl:attribute>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="internalRef">
<xsl:variable name="title">
<xsl:choose>
<xsl:when test="@targetTitle">
<xsl:value-of select="@targetTitle"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="."/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:copy>
<xsl:attribute name="xlink:type">simple</xsl:attribute>
<xsl:attribute name="xlink:href">
<xsl:text>#</xsl:text>
<xsl:value-of select="@internalRefId"/>
</xsl:attribute>
<xsl:if test="$title != ''">
<xsl:attribute name="xlink:title">
<xsl:value-of select="$title"/>
</xsl:attribute>
</xsl:if>
<xsl:attribute name="xlink:show">replace</xsl:attribute>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="catalogSeqNumberRef">
<xsl:copy>
<xsl:attribute name="xlink:actuate">onRequest</xsl:attribute>
<xsl:attribute name="xlink:href">
<xsl:variable name="dmc" select="ancestor::dmodule//dmIdent/dmCode"/>
<xsl:variable name="csn">
<xsl:choose>
<xsl:when test="@responsiblePartnerCompanyCode">
<xsl:variable name="ipp" select="@initialProvisioningProjectNumber"/>
<xsl:variable name="len" select="string-length($ipp)"/>
<xsl:text>Z</xsl:text>
<xsl:value-of select="@responsiblePartnerCompanyCode"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="substring($ipp, $len - 3, 2)"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="substring($ipp, $len - 1, 2)"/>
</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="@systemCode">
<xsl:value-of select="@systemCode"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$dmc/@systemCode"/>
</xsl:otherwise>
</xsl:choose>
<xsl:text>-</xsl:text>
<xsl:choose>
<xsl:when test="@subSystemCode">
<xsl:value-of select="@subSystemCode"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$dmc/@subSystemCode"/>
</xsl:otherwise>
</xsl:choose>
<xsl:choose>
<xsl:when test="@subSubSystemCode">
<xsl:value-of select="@subSubSystemCode"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$dmc/@subSystemCode"/>
</xsl:otherwise>
</xsl:choose>
<xsl:text>-</xsl:text>
<xsl:choose>
<xsl:when test="@assyCode">
<xsl:value-of select="@assyCode"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$dmc/@assyCode"/>
</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
<xsl:text>-</xsl:text>
<xsl:value-of select="@figureNumber"/>
<xsl:choose>
<xsl:when test="@figureNumberVariant">
<xsl:value-of select="@figureNumberVariant"/>
</xsl:when>
<xsl:otherwise>
<xsl:text>0</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:text>URN:S1000D:DMC-</xsl:text>
<xsl:choose>
<xsl:when test="@modelIdentCode">
<xsl:value-of select="@modelIdentCode"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$dmc/@modelIdentCode"/>
</xsl:otherwise>
</xsl:choose>
<xsl:text>-</xsl:text>
<xsl:choose>
<xsl:when test="@systemDiffCode">
<xsl:value-of select="@systemDiffCode"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$dmc/@systemDiffCode"/>
</xsl:otherwise>
</xsl:choose>
<xsl:text>-</xsl:text>
<xsl:value-of select="$csn"/>
<xsl:text>-941A-</xsl:text>
<xsl:choose>
<xsl:when test="@itemLocationCode">
<xsl:value-of select="@itemLocationCode"/>
</xsl:when>
<xsl:otherwise>
<xsl:text>D</xsl:text>
</xsl:otherwise>
</xsl:choose>
<xsl:text>#csn-</xsl:text>
<xsl:value-of select="$csn"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="@item"/>
<xsl:choose>
<xsl:when test="@itemVariant">
<xsl:value-of select="@itemVariant"/>
</xsl:when>
<xsl:otherwise>
<xsl:text>A</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:attribute name="xlink:show">replace</xsl:attribute>
<xsl:attribute name="xlink:type">simple</xsl:attribute>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="*" mode="xlink">
<xsl:apply-templates mode="xlink"/>
</xsl:template>
<xsl:template match="dmRefIdent" mode="xlink">
<xsl:text>URN:S1000D:</xsl:text>
<xsl:choose>
<xsl:when test="identExtension">
<xsl:text>DME-</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>DMC-</xsl:text>
</xsl:otherwise>
</xsl:choose>
<xsl:if test="identExtension">
<xsl:apply-templates select="identExtension" mode="xlink"/>
<xsl:text>-</xsl:text>
</xsl:if>
<xsl:apply-templates select="dmCode" mode="xlink"/>
</xsl:template>
<xsl:template match="identExtension" mode="xlink">
<xsl:value-of select="@extensionProducer"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="@extensionCode"/>
</xsl:template>
<xsl:template match="dmCode" mode="xlink">
<xsl:value-of select="@modelIdentCode"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="@systemDiffCode"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="@systemCode"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="@subSystemCode"/>
<xsl:value-of select="@subSubSystemCode"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="@assyCode"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="@disassyCode"/>
<xsl:value-of select="@disassyCodeVariant"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="@infoCode"/>
<xsl:value-of select="@infoCodeVariant"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="@itemLocationCode"/>
<xsl:if test="@learnCode and @learnEventCode">
<xsl:text>-</xsl:text>
<xsl:value-of select="@learnCode"/>
<xsl:value-of select="@learnEventCode"/>
</xsl:if>
</xsl:template>
<xsl:template match="avee" mode="xlink">
<xsl:value-of select="modelic"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="sdc"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="chapnum"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="section"/>
<xsl:value-of select="subsect"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="subject"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="discode"/>
<xsl:value-of select="discodev"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="incode"/>
<xsl:value-of select="incodev"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="itemloc"/>
</xsl:template>
<xsl:template match="dmTitle" mode="xlink">
<xsl:apply-templates select="techName" mode="xlink"/>
<xsl:if test="infoName">
<xsl:text> - </xsl:text>
<xsl:apply-templates select="infoName" mode="xlink"/>
</xsl:if>
<xsl:if test="infoNameVariant">
<xsl:text>, </xsl:text>
<xsl:apply-templates select="infoNameVariant" mode="xlink"/>
</xsl:if>
</xsl:template>
<xsl:template match="dmtitle" mode="xlink">
<xsl:apply-templates select="techname" mode="xlink"/>
<xsl:if test="infoname">
<xsl:text> - </xsl:text>
<xsl:apply-templates select="infoname" mode="xlink"/>
</xsl:if>
</xsl:template>
<xsl:template match="behavior" mode="xlink">
<xsl:choose>
<xsl:when test="@linkShow = 'newPane'">new</xsl:when>
<xsl:when test="@linkShow = 'embedInContext'">embed</xsl:when>
<xsl:when test="@linkShow = 'replaceAndReturnToSource'">replace</xsl:when>
<xsl:when test="@linkShow = 'replaceAndNoReturn'">replace</xsl:when>
<xsl:otherwise>none</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="pmCode" mode="xlink">
<xsl:value-of select="@modelIdentCode"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="@pmIssuer"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="@pmNumber"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="@pmVolume"/>
</xsl:template>
<xsl:template match="pmc" mode="xlink">
<xsl:value-of select="modelic"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="pmissuer"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="pmnumber"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="pmvolume"/>
</xsl:template>
<xsl:template match="pmRefIdent" mode="xlink">
<xsl:text>URN:S1000D:</xsl:text>
<xsl:choose>
<xsl:when test="identExtension">
<xsl:text>PME-</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>PMC-</xsl:text>
</xsl:otherwise>
</xsl:choose>
<xsl:if test="identExtension">
<xsl:apply-templates select="identExtension" mode="xlink"/>
<xsl:text>-</xsl:text>
</xsl:if>
<xsl:apply-templates select="pmCode" mode="xlink"/>
</xsl:template>
</xsl:stylesheet>
gopher://khzae.net/0/s1000d/s1kd-tools/src/tools/s1kd-neutralize/stylesheets/xlink.xsl