Wydaj cały XML jako atrybut
Jestem całkiem nowy w arkuszach stylów XML i XSL i otrzymałem zadanie stworzenia arkusza stylów dla jednego z naszych klientów. Stworzyłem już arkusz stylów, który wyświetla XML w następującym formacie:
<Trip TripType="Normal">
<Plan BeginTime="2011-08-13T10:00:00" UserDefinedTripID="777" UserDefinedRouteID="777">
<PlanStop ArrivalTime="2011-08-13T15:30:00" ArrivalLock="true" SiteID="1" PassThru1="test1" PassThru2="test2" PassThru3="test3" PassThru4="test4">
<PlanNote Line1="Freeform Text" Line2="Line2" Line3="Line3" />
<PlanCargo Duration="60" BillID="" Weight="100" Units="100.0" XUnitTypeID="10" Action="Pick" />
<PlanNote Line1="Freeform Text" Line2="Line2" Line3="Line3" />
<PlanCargo Duration="60" BillID="" Weight="100" Units="100.0" XUnitTypeID="12" Action="Pick" />
</PlanStop>
</Plan>
</Trip>
Muszę pobrać dane wyjściowe i wstawić zawartość do atrybutu w elemencie Trip, aby wyglądał następująco:
<Trip TripID="-1" CurrentRevisionNumber="1" IsDispatch="1" IsActive="0"
IsComplete="0" OrganizationID="4"
TripData="<Trip TripType="Normal">
<Plan BeginTime="2011-08-13T10:00:00" UserDefinedTripID="777"
UserDefinedRouteID="777">
<PlanStop ArrivalTime="2011-08-13T10:00:00" ArrivalLock=& quot;true" SiteID="1" PassThru1="test1" PassThru2=& quot;test2" PassThru3="test3" PassThru4="test4">
<PlanCargo Duration="45" BillID="" Weight=& quot;100" Units="100.0" XUnitTypeID="9" Action="Pick" />
</PlanStop> />
Innymi słowy, muszę wziąć istniejące wyjście XML i umieścić je w atrybucie podczas wykonywania pewnych transformacji znaków.
Tak, to jest bardzo brzydkie, ale tak chcą. Myślałem o stworzeniu kolejnego XSL, który skopiuje dane wyjściowe XML z oryginalnej transformacji XSL i umieści je w atrybucie podczas konwersji <,>, ", etc na <,>," itp. (Nie jestem pewien, jak się nazywają ).
Przeszukałem Internet w poszukiwaniu rozwiązań, ale nie mogę znaleźć takich, które byłyby podobne (wyobrażam sobie, że jest to śmieszne żądanie). W razie potrzeby mogę dostarczyć moje oryginalne XSL, ale wolałbym go nie zmieniać, jeśli to możliwe.
Z góry dziękuję!