Сопоставление атрибутов бизнес-административных изменений
В большинстве случаев для экспорта административных изменений исходная система должна быть идентична целевой. Однако возможны ситуации, когда атрибут в целевой системе недоступен или имеет другой идентификатор. Например, могут различаться идентификаторы UFID пользователя в целевой и исходной системах. Чтобы предотвратить конфликты при импорте, можно создать файл сопоставления и использовать его как ссылку из команды import. В следующих разделах представлены примеры XSL-файлов сопоставления.
Сопоставление для правил управления доступом к политикам
В этом примере задается сопоставление для контекста, в котором создается правило управления доступом к политике, и пользователя, для которого применяется правило политики:
<?xml version="1.0" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
<xsl:template match="@* | node()" priority="-9">
<xsl:copy><xsl:apply-templates select="@* | node()"/></xsl:copy>
</xsl:template>
<xsl:template match="AccessControlRule">
<newInfo>
<xsl:apply-templates select="objectContainerPath"/>
<xsl:apply-templates select="WTPrincipalReference"/>
</newInfo>
</xsl:template>
<xsl:template match="objectContainerPath">
<objectContainerPath>
<xsl:value-of select='replace(., "testOrg","Demo Organization")'/>
</objectContainerPath>
</xsl:template>
<xsl:template match="ufid">
<ufid>
<xsl:value-of select='replace(., "testuser","demo")'/>
</ufid>
</xsl:template>
</xsl:stylesheet>
Сопоставление для участников
В этом примере задается сопоставление для наименования и идентификатора участника, для которого применяется профиль:
<?xml version="1.0" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
<xsl:template match="@* | node()" priority="-9">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="ExportedProfileInfo">
<newInfo>
<xsl:apply-templates select="profileMember"/>
</newInfo>
</xsl:template>
<xsl:template match="WTPrincipalReference/ufid">
<ufid>
<xsl:value-of select="replace(., "aa","demo")"/>
</ufid>
</xsl:template>
<xsl:template match="WTPrincipalReference/name">
<name>
<xsl:value-of select='replace(., "aa","demo")'/>
</name>
</xsl:template>
</xsl:stylesheet>
Сопоставление для контекстов
В этом примере задается сопоставление для контекста, в котором создается профиль:
<?xml version="1.0" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
<xsl:template match="@* | node()" priority="-9">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="ExportedProfileInfo">
<newInfo>
<xsl:apply-templates select="objectContainerPath"/>
</newInfo>
</xsl:template>
<xsl:template match="objectContainerPath">
<objectContainerPath>
<xsl:value-of select='replace(., "testOrg","Demo Organization")'/>
</objectContainerPath>
</xsl:template>
</xsl:stylesheet>
Было ли это полезно?