高度なカスタマイズ > ビジネスロジックのカスタマイズ > パッケージのカスタマイズ > 送信物のダウングレードのためのカスタマイズ > XSL 変換のシナリオ
  
XSL 変換のシナリオ
メタデータ (XSL) 定義は、各 Windchill リリースにおいて、コンテンツレプリケーションのために、サポートされているタイプのオブジェクトに応じて、さまざまな方法で変更できます。
このセクションでは、下位互換性をサポートしていることが判明しているさまざまな xsl 変換のシナリオと、それぞれのシナリオの xsl サンプルコードを示します。
ダウングレード送信物をサポートする XSL 変換のシナリオ
シナリオ
ソースリリース
ターゲットリリース
サンプル xslt
オブジェクトの削除
WTPart
なし
xsl 変換は不要です。オブジェクトは、インポート中、無視/処理されます。
オブジェクトの追加
なし
WTPart
xsl 変換は不要です。エクスポートするデータがありません。
オブジェクトタイプの名前変更
WTPart
WTMyPart
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="WTPart">
<WTMyPart>
<xsl:copy-of select = "child::*"></xsl:copy-of>
</WTMyPart></xsl:template>
</xsl:stylesheet>
エレメントの追加
NewElement が存在しません
WTPart 内の NewElement
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="@* | node()"> <xsl:copy> <xsl:apply-templates select="@* | node()"></xsl:apply-templates> </xsl:copy> </xsl:template> <xsl:template match="FederationInfo"> <xsl:copy-of select="."></xsl:copy-of> <NewElement>NewElementAdded</NewElement> </xsl:template> </xsl:stylesheet>
エレメントの削除
WTPart 内の FederationInfo
FederationInfo を使用できません
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"></xsl:apply-templates>
</xsl:copy>
</xsl:template>
<xsl:template match="FederationInfo">
</xsl:template>
</xsl:stylesheet>
エレメントの名前変更
FederationInfo
NewFederationInfo
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"></xsl:apply-templates>
</xsl:copy>
</xsl:template>
<xsl:template match="FederationInfo">
<NewFederationInfo>
<xsl:copy-of select="*"></xsl:copy-of>
</NewFederationInfo>
</xsl:template>
</xsl:stylesheet>
属性の追加
属性 firstName がありません。
firstNameWTPrincipal 参照の属性です
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"></xsl:apply-templates>
</xsl:copy>
</xsl:template>
<xsl:template match="WTPrincipalReference">
<xsl:copy>
<xsl:apply-templates select="@* | node()"></xsl:apply-templates>
</xsl:copy>
</xsl:template>
<xsl:template match="createdBy/WTPrincipalReference/@fullName">
<xsl:copy-of select="." />
<xsl:attribute name="firstName">AddedFirstName</xsl:attribute>
</xsl:template>
</xsl:stylesheet>
WTPrincipalReference で作成された属性 isInternal の除去
isInternalWTPrincipalReference の属性です
isInternal を使用できません
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"></xsl:apply-templates>
</xsl:copy>
</xsl:template>
<xsl:template match="createdBy/WTPrincipalReference/@isInternal">
</xsl:template>
</xsl:stylesheet>
属性の名前変更
fullName
newFullName
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"></xsl:apply-templates>
</xsl:copy>
</xsl:template>
<xsl:template match="WTPrincipalReference">
<xsl:copy>
<xsl:apply-templates select="@* | node()"></xsl:apply-templates>
</xsl:copy>
</xsl:template>
<xsl:template match="WTPrincipalReference/@fullName">
<xsl:attribute name="newFullName">
<xsl:copy-of select="*" />
</xsl:attribute>
</xsl:template>
</xsl:stylesheet>
属性の値を 2 つの異なる属性に分割
FullName = Demo,User
FirstName = Demo, LastName = User
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"></xsl:apply-templates>
</xsl:copy>
</xsl:template>
<xsl:template match="createdBy/WTPrincipalReference/@fullName"
name="split">
<xsl:param name="fullName">
<xsl:value-of select="." />
</xsl:param>
<xsl:if test="$fullName">
<xsl:param name="firstName">
<xsl:value-of select="substring-before($fullName, ',')" />
</xsl:param>
<xsl:param name="lastName">
<xsl:value-of select="substring-after($fullName, ',')" />
</xsl:param>
<xsl:if test="$firstName">
<xsl:attribute name="firstName"><xsl:value-of
select="$firstName" /></xsl:attribute>
</xsl:if>
<xsl:if test="$lastName">
<xsl:attribute name="lastName"><xsl:value-of
select="$lastName" /></xsl:attribute>
</xsl:if>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
WTPart1WTPArt2 のマージによる WTPart の形成
WTPart1, WTPart2
WTPart
Java 委任で実行します。
WTPartWTPart1WTPart2 に分割
WTpart
WTPart1, WTPart2
Java 委任で実行します。