XSLT変換について少し助けてくれることを期待していました。私はそれを正しくするように見えることはできません。ここでXSLT変換に関するヘルプ
は、ソースXML文書のサンプルです:
<?xml version="1.0" encoding="UTF-8"?>
<Locations>
<header>
<location>Location Field</location>
<job_function>Job Function Field</job_function>
<count>Count</count>
</header>
<data>
<location>2177</location>
<job_function>ADM</job_function>
<count>1</count>
</data>
<data>
<location>2177</location>
<job_function>OPS</job_function>
<count>1</count>
</data>
<data>
<location>2177</location>
<job_function>SLS</job_function>
<count>5</count>
</data>
<data>
<location>2179</location>
<job_function>ADM</job_function>
<count>1</count>
</data>
<data>
<location>2179</location>
<job_function>SEC</job_function>
<count>1</count>
</data>
</Locations>
私は、次の形式に変換したい:
<Locations>
<data>
<PeopleSoftID>2177</PeopleSoftID>
<ADM>1</ADM>
<OPS>1</OPS>
<SLS>5</SLS>
<TotalCount>7</TotalCount>
</data>
<data>
<PeopleSoftID>2179</PeopleSoftID>
<ADM>1</ADM>
<SEC>1</SEC>
<TotalCount>2</TotalCount>
</data>
</Locations>
だから、基本的に、あなたがサンプルソース文書で見ることができるように同じ値を持つ複数の要素があります。宛先文書では、ソース文書内の要素値が<location>
であるレコード(<PeopleSoftID>
要素)が1つだけになります。 3つの<location>
の値が2177であったため、宛先文書にはその値を含む1つの<PeopleSoftID>
要素しかありません。ソース文書内の<job_function>
要素の値は、宛先文書内の要素になります。その新しい要素の値は、ソース文書の<count>
要素の兄弟値になります。宛先文書の<TotalCount>
要素は、ソース<job_function>
要素から生成されたすべての新しい要素の値の合計です。
誰もが説明を混乱させないように願っています。
私はまだ少しXSLTsに新しいので、私はこれに論理を正しく得るのに問題があります。
私はXSLT 1.0も使用できます。
私が十分な情報を提供していない場合、私に知らせてください。私はできるだけ早く多くを提供しようとします。
ありがとうございました!
でxsl:keyとグループ上に読みますか? – Hoons
これは複数の部分からなる質問です。それは「私にとってこのスタイルシートを書いてください」という質問よりも、「この特定の最小限の問題をどのように解決すればよいのですか?質問。 @Hoonsは言ったように、一度に1つの問題を投稿し、これまでに試したことと何が出力されているのかを示すと、役に立つヘルプを得る可能性が高くなります。 – LarsH
私は仕事に戻るときに明日持っているものを投稿します。 Mads Hansenが言及したMuenchianメソッドを使って何かを試しています。みんなありがとう。 – ssoutrs