Как изменить значение с помощью преобразования - PullRequest
0 голосов
/ 15 октября 2019

Я совершенно не понимаю, пытаясь изменить значение номера карты для всех записей на 0 (ноль)

Файл преобразования по умолчанию выглядит следующим образом:

<?xml version ="1.0" encoding="utf8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" />
<!-- Parameters assigned at runtime. -->
<xsl:param name="paramCurrentTimestamp">20001231173010</xsl:param>
<xsl:param name="paramCurrentDT" >12/31/2000 5:30:10 PM</xsl:param>
<xsl:param name="paramCurrentCulture">en-US</xsl:param>

<!-- The transformation below provides trivial default copy of everything. -->
<xsl:template match="*|@*">
  <xsl:copy>
    <xsl:apply-templates select="*|@*|text()"/>
  </xsl:copy>
</xsl:template>

<xsl:template match="@*">
  <xsl:copy />
</xsl:template>
<!-- End of customizable area. -->

 </xsl:stylesheet>

Пример данныхвход выглядит так:

Sample input
-<CrossFire culture-info=" en-US" platform-version=" 2.60.18" product-version=" 2.60.18">
-<SoftwareHouse.NextGen.Common.SecurityObjects.Personnel ImportMode=" Default">
 <GUID>e7d37b37-9418-4e20-a6b7-f54b76c389cd</GUID>
-<SoftwareHouse.NextGen.Common.SecurityObjects.Credential ImportMode=" Default">
 <GUID>e3adb09c-fb8e-4277-90d8-1839dd1bd83b</GUID>
 <CardNumber>210316</CardNumber>
 </SoftwareHouse.NextGen.Common.SecurityObjects.Credential>
 </SoftwareHouse.NextGen.Common.SecurityObjects.Personnel>
 </CrossFire>

То, что я хочу увидеть для всех записей, это 0

1 Ответ

0 голосов
/ 15 октября 2019

Чтобы изменить значение CardNumber на 0, сохраняя все остальное как есть, вы можете сделать следующее:

XSLT 1.0

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>

<!-- identity transform -->
<xsl:template match="@*|node()">
    <xsl:copy>
        <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
</xsl:template>

<xsl:template match="CardNumber">
    <xsl:copy>0</xsl:copy>
</xsl:template>

</xsl:stylesheet>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...