У меня есть некоторые существующие выходные данные XML, в которые мне нужно вставить новый элемент, который будет содержать как некоторые жестко закодированные данные, так и некоторые динамические данные, которые получены из значений двух родственных элементов.
Я пробовал несколько итераций этого, но не могу получить какой-либо значимый вывод
Ввод XML:
<ExportXML xmlns="http://www.taleo.com/ws/integration/toolkit/2005/07"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:ns1="http://www.taleo.com/ws/integration/toolkit/2005/07"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<record>
<field name="Client">Company X</field>
<field name="TItle">Program Manager</field>
<field name="ReqNumber">106839</field>
<field name="JobBoardID">JB-10000</field>
<field name="PostedDate">2019-04-03</field>
<field name="City"></field>
<field name="StateProvince"></field>
<field name="Country">United States</field>
<field name="Category">Professionals</field>
<field name="JobText">Blah, blah, blah</field>
</record>
<record>
<field name="Client">Company X</field>
<field name="TItle">Director, Sales--Army</field>
<field name="ReqNumber">106051</field>
<field name="JobBoardID">JB-13262</field>
<field name="PostedDate">2019-03-04</field>
<field name="City"></field>
<field name="StateProvince"></field>
<field name="Country">United States</field>
<field name="Category">Sales Workers</field>
<field name="JobText">Blah, blah, blah</field>
</record>
</ExportXML>
Требуемый вывод XML:
<ExportXML xmlns="http://www.taleo.com/ws/integration/toolkit/2005/07"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:ns1="http://www.taleo.com/ws/integration/toolkit/2005/07"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<record>
<field name="Client">Company X</field>
<field name="TItle">Program Manager</field>
<field name="ReqNumber">106839</field>
<field name="JobBoardID">JB-10000</field>
<field name="PostedDate">2019-04-03</field>
<field name="City"></field>
<field name="StateProvince"></field>
<field name="Country">United States</field>
<field name="Category">Professionals</field>
<field name="JobText">Blah, blah, blah</field>
<field name="ApplyURL">https://www.fakedomain.org/careersection/JB-10000/jobapply.ftl?lang=en&job=106839</field>
</record>
<record>
<field name="Client">Company X</field>
<field name="TItle">Director, Sales--Army</field>
<field name="ReqNumber">106051</field>
<field name="JobBoardID">JB-13262</field>
<field name="PostedDate">2019-03-04</field>
<field name="City"></field>
<field name="StateProvince"></field>
<field name="Country">United States</field>
<field name="Category">Sales Workers</field>
<field name="JobText">Blah, blah, blah</field>
<field name="ApplyURL">https://www.fakedomain.org/careersection/JB-13262/jobapply.ftl?lang=en&job=106051</field>
</record>
</ExportXML>
Как вы можете видеть в примере кода выше, я хотел бы добавить новый элемент "field" с атрибутом "ApplyURL", который принимает жестко закодированную строку (https://www.fakedomain.org/careersection/) объединяет это со значением элемент родственного поля с атрибутом «JobBoardID» объединяет его с жестко закодированной строкой «/jobapply.ftl?lang=en&job=» и объединяет его со значением элемента родственного поля с атрибутом «ReqNumber».
Мне нужно, чтобы это правило шаблона применялось ко всем узлам «записи», найденным в документе XML.
Я пробовал разные подходы для этого, но до сих пор не имел никакого успеха. Я новичок в XSLT, так что не удивительно. Я надеюсь, что кто-то, кто более опытен в этом, может помочь мне.