..
/
download
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<!-- Convert a DML to a series of s1kd-new* calls -->
<xsl:param name="no-issue" select="false()"/>
<xsl:param name="overwrite" select="false()"/>
<xsl:param name="no-overwrite-error" select="false()"/>
<xsl:param name="verbose" select="false()"/>
<xsl:param name="spec-issue"/>
<xsl:param name="templates"/>
<xsl:param name="outdir"/>
<xsl:param name="defaults"/>
<xsl:param name="dmtypes"/>
<xsl:param name="use-remarks" select="false()"/>
<xsl:variable name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable>
<xsl:variable name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable>
<xsl:output method="text"/>
<xsl:template match="*">
<xsl:apply-templates select="*"/>
</xsl:template>
<xsl:template match="dml">
<xsl:apply-templates select="dmlContent|dmentry"/>
</xsl:template>
<xsl:template match="dmlEntry|dmentry">
<xsl:choose>
<xsl:when test="dmRef|addresdm">
<xsl:text>s1kd-newdm</xsl:text>
<xsl:if test="$no-issue">
<xsl:text> -N</xsl:text>
</xsl:if>
<xsl:if test="$dmtypes">
<xsl:text> -D "</xsl:text>
<xsl:value-of select="$dmtypes"/>
<xsl:text>"</xsl:text>
</xsl:if>
</xsl:when>
<xsl:when test="pmRef">
<xsl:text>s1kd-newpm</xsl:text>
<xsl:if test="$no-issue">
<xsl:text> -N</xsl:text>
</xsl:if>
</xsl:when>
<xsl:when test="commentRef">
<xsl:text>s1kd-newcom</xsl:text>
</xsl:when>
<xsl:when test="dmlRef">
<xsl:text>s1kd-newdml</xsl:text>
<xsl:if test="$no-issue">
<xsl:text> -N</xsl:text>
</xsl:if>
</xsl:when>
<xsl:when test="infoEntityRef">
<xsl:text>s1kd-newimf</xsl:text>
</xsl:when>
</xsl:choose>
<xsl:if test="$spec-issue">
<xsl:text> -$ </xsl:text>
<xsl:value-of select="$spec-issue"/>
</xsl:if>
<xsl:if test="$overwrite">
<xsl:text> -f</xsl:text>
</xsl:if>
<xsl:if test="$no-overwrite-error">
<xsl:text> -q</xsl:text>
</xsl:if>
<xsl:if test="$verbose">
<xsl:text> -v</xsl:text>
</xsl:if>
<xsl:if test="$templates">
<xsl:text> -% "</xsl:text>
<xsl:value-of select="$templates"/>
<xsl:text>"</xsl:text>
</xsl:if>
<xsl:if test="$outdir">
<xsl:text> -@ "</xsl:text>
<xsl:value-of select="$outdir"/>
<xsl:text>"</xsl:text>
</xsl:if>
<xsl:if test="$defaults">
<xsl:text> -d "</xsl:text>
<xsl:value-of select="$defaults"/>
<xsl:text>"</xsl:text>
</xsl:if>
<xsl:apply-templates select="*"/>
<xsl:text>
</xsl:text>
</xsl:template>
<xsl:template match="dmCode|dmc|pmCode|commentCode|dmlCode">
<xsl:text> -# </xsl:text>
<xsl:apply-templates select="." mode="text"/>
</xsl:template>
<xsl:template match="infoEntityRef">
<xsl:text> </xsl:text>
<xsl:value-of select="@infoEntityRefIdent"/>
</xsl:template>
<xsl:template match="dmc" mode="text">
<xsl:apply-templates select="avee" mode="text"/>
</xsl:template>
<xsl:template match="dmCode|avee" mode="text">
<xsl:value-of select="@modelIdentCode|modelic"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="@systemDiffCode|sdc"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="@systemCode|chapnum"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="@subSystemCode|section"/>
<xsl:value-of select="@subSubSystemCode|subsect"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="@assyCode|subject"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="@disassyCode|discode"/>
<xsl:value-of select="@disassyCodeVariant|discodev"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="@infoCode|incode"/>
<xsl:value-of select="@infoCodeVariant|incodev"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="@itemLocationCode|itemloc"/>
<xsl:if test="@learnCode">
<xsl:text>-</xsl:text>
<xsl:value-of select="@learnCode"/>
<xsl:value-of select="@learnEventCode"/>
</xsl:if>
</xsl:template>
<xsl:template match="pmCode" mode="text">
<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="commentCode" mode="text">
<xsl:value-of select="@modelIdentCode"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="@senderIdent"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="@yearOfDataIssue"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="@seqNumber"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="translate(@commentType, $lower, $upper)"/>
</xsl:template>
<xsl:template match="dmlCode" mode="text">
<xsl:value-of select="@modelIdentCode"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="@senderIdent"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="translate(@dmlType, $lower, $upper)"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="@yearOfDataIssue"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="@seqNumber"/>
</xsl:template>
<xsl:template match="issueInfo">
<xsl:text> -n </xsl:text>
<xsl:value-of select="@issueNumber"/>
<xsl:text> -w </xsl:text>
<xsl:value-of select="@inWork"/>
</xsl:template>
<xsl:template match="issno">
<xsl:text> -n </xsl:text>
<xsl:value-of select="@issno"/>
<xsl:if test="@inwork">
<xsl:text> -w </xsl:text>
<xsl:value-of select="@inwork"/>
</xsl:if>
</xsl:template>
<xsl:template match="language">
<xsl:text> -L </xsl:text>
<xsl:value-of select="@languageIsoCode|@language"/>
<xsl:text> -C </xsl:text>
<xsl:value-of select="@countryIsoCode|@country"/>
</xsl:template>
<xsl:template match="issueDate|issdate">
<xsl:text> -I </xsl:text>
<xsl:value-of select="@year"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="@month"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="@day"/>
</xsl:template>
<xsl:template match="dmTitle|dmtitle">
<xsl:apply-templates select="techName|techname"/>
<xsl:choose>
<xsl:when test="infoName|infoname">
<xsl:apply-templates select="infoName|infoname"/>
</xsl:when>
<xsl:otherwise>
<xsl:text> -!</xsl:text>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates select="infoNameVariant"/>
</xsl:template>
<xsl:template match="techName|techname">
<xsl:text> -t "</xsl:text>
<xsl:value-of select="."/>
<xsl:text>"</xsl:text>
</xsl:template>
<xsl:template match="infoName|infoname">
<xsl:text> -i "</xsl:text>
<xsl:value-of select="."/>
<xsl:text>"</xsl:text>
</xsl:template>
<xsl:template match="infoNameVariant">
<xsl:text> -V "</xsl:text>
<xsl:value-of select="."/>
<xsl:text>"</xsl:text>
</xsl:template>
<xsl:template match="pmTitle">
<xsl:text> -t "</xsl:text>
<xsl:value-of select="."/>
<xsl:text>"</xsl:text>
</xsl:template>
<xsl:template match="shortPmTitle">
<xsl:text> -s "</xsl:text>
<xsl:value-of select="."/>
<xsl:text>"</xsl:text>
</xsl:template>
<xsl:template match="responsiblePartnerCompany">
<xsl:if test="@enterpriseCode">
<xsl:text> -R </xsl:text>
<xsl:value-of select="@enterpriseCode"/>
</xsl:if>
<xsl:if test="enterpriseName">
<xsl:text> -r "</xsl:text>
<xsl:value-of select="enterpriseName"/>
<xsl:text>"</xsl:text>
</xsl:if>
</xsl:template>
<xsl:template match="rpc">
<xsl:if test="text()">
<xsl:text> -R </xsl:text>
<xsl:apply-templates/>
</xsl:if>
<xsl:if test="@rpcname">
<xsl:text> -r "</xsl:text>
<xsl:value-of select="@rpcname"/>
<xsl:text>"</xsl:text>
</xsl:if>
</xsl:template>
<xsl:template match="security">
<xsl:text> -c </xsl:text>
<xsl:value-of select="@securityClassification|@class"/>
</xsl:template>
<xsl:template match="remarks">
<xsl:if test="$use-remarks">
<xsl:text> -m "</xsl:text>
<xsl:value-of select="simplePara|p"/>
<xsl:text>"</xsl:text>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
gopher://khzae.net/0/s1000d/s1kd-tools/src/tools/s1kd-dmrl/dmrl.xsl