私はXMLおよびXSLスタイルシートにかなり慣れていないので、クライアントの1人のためにスタイルシートを作成する任務を負っています。次の形式でXMLを出力するスタイルシートをすでに作成しました。
<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>
出力を取得し、Trip要素内の属性にコンテンツを挿入して次のようにする必要があります。
<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> />
つまり、既存のXML出力を取得して、いくつかの文字変換を実行しながら属性に入れる必要があります。
はい、それは非常に醜いです、しかしこれは彼らがそれを望む方法です。元のXSL変換からのXML出力をコピーして、<、>、 "などを<、>、"などに変換しながら属性に配置する別のXSLを作成することを考えていました(それらが何と呼ばれるかはわかりません) )。
私は解決策を求めてインターネットを探しましたが、このようなものは見つからないようです(これはばかげた要求であるためだと思います)。必要に応じて元のXSLを提供できますが、可能であれば変更したくありません。
前もって感謝します!