У меня есть два XML-документа, и я хочу создать объединение.Два документа имеют разные форматы.
Doc1:
<contact>
<realName>Kurt Meier</realName>
<phone number="017289232"></phone>
</contact>
Doc2:
<Person>
<Name>Susie</Name>
<FirstName>Meier</FirstName>
<Phone>0173895734</Phone>
</Person>
Требуемый вывод должен быть нормализован.Где FULLNAME - это realName в случае элемента, а FULLNAME - это имя, объединенное с FirstName в случае элемента.
<CONTACT>
<FULLNAME>Kurt Meier</FULLNAME>
<PHONE_NO>017289232<PHONE_NO>
</CONTACT>
<CONTACT>
<FULLNAME>Susie Meier</FULLNAME>
<PHONE_NO>0173895734<PHONE_NO>
</CONTACT>
В sql это будет выглядеть так:
select
realName as FULLNAME,
number as PHONE_NO
from Doc1
union all
select
FirstName ||' '|| Name as FULLNAME,
phone as PHONE_NO
from Doc2
Я знаючто я могу создать объединение, используя разделенные запятыми xpaths:
for $e in (doc("Doc1.xml")//contact, doc("Doc2.xml")//Person)
return $e
, но мне не удается изменить имена возвращаемых элементов, как с помощью оператора AS в SQL.