方案
|
源版本
|
目标版本
|
示例 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 不存在。
|
firstName 是 WTPrincipal 参考的属性
|
<?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
|
isInternal 是 WTPrincipalReference 的一个属性
|
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>
|
将属性的值拆分为两个不同的属性
|
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>
|
合并 WTPart1, WTPArt2 以形成 WTPart
|
WTPart1, WTPart2
|
WTPart
|
要在 Java 委派中完成。
|
将 WTPart 拆分为 WTPart1, WTPart2
|
WTpart
|
WTPart1, WTPart2
|
要在 Java 委派中完成。
|