Я новичок в XSLT и получаю ответ XML , который отображается в массиве с конфликтами пространства имен для элементов XML, которые мне нужно сделать уникальными для дальнейшей работыс в другой системе.
Ниже приведен XML-ответ, который я пытаюсь преобразовать с помощью XSLT, а также желаемый результат. Я хочу сделать каждый повторяющийся элемент <WorksheetServiceProperty>
уникальным в новом выходном XML-документе после XSLT.преобразование с использованием суффикса или префикса для элемента.
ПЕРВОНАЧАЛЬНЫЙ XML-ДОКУМЕНТ, КОТОРЫЙ БУДЕТ ПРЕОБРАЗОВАТЬСЯ
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<GetWorksheetDetailExtraInfoFieldsResponse xmlns="http://webservices.whitespacews.com/">
<GetWorksheetDetailExtraInfoFieldsResult>
<ErrorCode>0</ErrorCode>
<ErrorDescription>Success</ErrorDescription>
<SuccessFlag>true</SuccessFlag>
<WorksheetServiceProperties>
<WorksheetServiceProperty>
<ExtensionData />
<WorksheetServiceID>42</WorksheetServiceID>
<ServicePropertyID>10</ServicePropertyID>
<ServicePropertyName>Job Completed</ServicePropertyName>
<ServicePropertyValue>Yes</ServicePropertyValue>
<ServicePropertyTypeID>4</ServicePropertyTypeID>
<ServicePropertyTypeName>List</ServicePropertyTypeName>
<ServicePropertyOrder>30</ServicePropertyOrder>
<ForMobile>true</ForMobile>
<ForPowerSuite>true</ForPowerSuite>
</WorksheetServiceProperty>
<WorksheetServiceProperty>
<ExtensionData />
<WorksheetServiceID>42</WorksheetServiceID>
<ServicePropertyID>15</ServicePropertyID>
<ServicePropertyName>Crew Comments</ServicePropertyName>
<ServicePropertyValue>Collected all items successfully</ServicePropertyValue>
<ServicePropertyTypeID>7</ServicePropertyTypeID>
<ServicePropertyTypeName>TextBox</ServicePropertyTypeName>
<ServicePropertyOrder>5</ServicePropertyOrder>
<ForMobile>true</ForMobile>
<ForPowerSuite>true</ForPowerSuite>
</WorksheetServiceProperty>
<WorksheetServiceProperty>
<ExtensionData />
<WorksheetServiceID>42</WorksheetServiceID>
<ServicePropertyID>16</ServicePropertyID>
<ServicePropertyName>Items To Be Collected</ServicePropertyName>
<ServicePropertyValue>Matress, bed frame, fridge</ServicePropertyValue>
<ServicePropertyTypeID>1</ServicePropertyTypeID>
<ServicePropertyTypeName>String</ServicePropertyTypeName>
<ServicePropertyOrder>2</ServicePropertyOrder>
<ForMobile>true</ForMobile>
<ForPowerSuite>true</ForPowerSuite>
</WorksheetServiceProperty>
</WorksheetServiceProperties>
</GetWorksheetDetailExtraInfoFieldsResult>
</GetWorksheetDetailExtraInfoFieldsResponse>
</soap:Body>
</soap:Envelope>
ЖЕЛАЕМЫЙ РЕЗУЛЬТАТ
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<GetWorksheetDetailExtraInfoFieldsResponse xmlns="http://webservices.whitespacews.com/">
<GetWorksheetDetailExtraInfoFieldsResult>
<ErrorCode>0</ErrorCode>
<ErrorDescription>Success</ErrorDescription>
<SuccessFlag>true</SuccessFlag>
<WorksheetServiceProperties>
<WorksheetServiceProperty1>
<ExtensionData />
<WorksheetServiceID>42</WorksheetServiceID>
<ServicePropertyID>10</ServicePropertyID>
<ServicePropertyName>Job Completed</ServicePropertyName>
<ServicePropertyValue>Yes</ServicePropertyValue>
<ServicePropertyTypeID>4</ServicePropertyTypeID>
<ServicePropertyTypeName>List</ServicePropertyTypeName>
<ServicePropertyOrder>30</ServicePropertyOrder>
<ForMobile>true</ForMobile>
<ForPowerSuite>true</ForPowerSuite>
</WorksheetServiceProperty1>
<WorksheetServiceProperty2>
<ExtensionData />
<WorksheetServiceID>42</WorksheetServiceID>
<ServicePropertyID>15</ServicePropertyID>
<ServicePropertyName>Crew Comments</ServicePropertyName>
<ServicePropertyValue>Collected all items successfully</ServicePropertyValue>
<ServicePropertyTypeID>7</ServicePropertyTypeID>
<ServicePropertyTypeName>TextBox</ServicePropertyTypeName>
<ServicePropertyOrder>5</ServicePropertyOrder>
<ForMobile>true</ForMobile>
<ForPowerSuite>true</ForPowerSuite>
</WorksheetServiceProperty2>
<WorksheetServiceProperty3>
<ExtensionData />
<WorksheetServiceID>42</WorksheetServiceID>
<ServicePropertyID>16</ServicePropertyID>
<ServicePropertyName>Items To Be Collected</ServicePropertyName>
<ServicePropertyValue>Matress, bed frame, fridge</ServicePropertyValue>
<ServicePropertyTypeID>1</ServicePropertyTypeID>
<ServicePropertyTypeName>String</ServicePropertyTypeName>
<ServicePropertyOrder>2</ServicePropertyOrder>
<ForMobile>true</ForMobile>
<ForPowerSuite>true</ForPowerSuite>
</WorksheetServiceProperty3>
</WorksheetServiceProperties>
</GetWorksheetDetailExtraInfoFieldsResult>
</GetWorksheetDetailExtraInfoFieldsResponse>
</soap:Body>
</soap:Envelope>