У меня есть структурированный формат XML-файла, который необходимо сопоставить с более плоским XML-форматом. Обычно я создавал для этого пользовательский XSLT-файл и использовал его карту BizTalk. Тем не менее, мне нравится идея использовать графические карты, где это возможно - слишком легко погрузиться прямо в XSLT, но не так просто для тех, кто следит за вами, чтобы быстро понять, что делает карта!BizTalk Looping Functoid
Я подозреваю, что отображение может быть достигнуто с помощью таблицы зацикливание функции и таблицы экстрактор functoid но я пытался в течение нескольких часов и не :(
Примечание: Я не имею никакого контроля над источником XSD - это происходит от третьего лица здесь:.
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="VehicleTrips">
<xs:annotation>
<xs:documentation>Comment describing your root element</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element name="Vehicle">
<xs:complexType>
<xs:sequence>
<xs:element name="VehicleID"/>
<xs:element name="VehicleRegistration"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Trips">
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element name="VehicleId"/>
<xs:element name="Distance"/>
<xs:element name="Duration"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
... и вот цель XSD:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="Trips">
<xs:annotation>
<xs:documentation>Comment describing your root element</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element name="VehicleRegistration"/>
<xs:element name="Distance"/>
<xs:element name="Duration"/>
</xs:sequence>
</xs:complexType>
</xs:element>
Подводя итог, я должен изучить поездки, захватить VehicleRegistration от Vehicle, с ключом VehicleId и скопировать данные в целевую схему.
Кто-нибудь знает, может ли это быть достигнуто, используя только фунтоиды (или, возможно, небольшой скрипт в функционале скриптов)?
Большое спасибо, Rob.
Привет, Роб, не могли бы вы привести пример ввода xml. – 2008-11-26 22:35:50