xml を操作する xslt の学習を開始し、多くの異なる子ノードと孫ノードを持つ xml をフラット化しようとしています。入力 xml を変換して output.xml を生成する単純な xslt はありますか。
入力.xml:
<Addresses>
<Address__c>
<Id>a0H20000002uhsyEAA</Id>
<R00N20000001XA10EAG>
<Customer_Installation_Address__c>
<Id>a0L2000000DDpOCEA1</Id>
</Customer_Installation_Address__c>
<Customer_Installation_Address__c>
<Id>a0L2000000DDpOCEB2</Id>
</Customer_Installation_Address__c>
</R00N20000001XA10EAG>
<Customers__r>
<Account>
<Id>001M000000FOEiHIAX</Id>
</Account>
<Account>
<Id>001M000000FOAAbIAP</Id>
</Account>
</Customers__r>
<Cases__r>
<Case>
<Id>500D000000G7drpIAB</Id>
</Case>
</Cases__r>
</Address__c>
<Address__c>
<Id>a0H20000003JjyzEAC</Id>
<Cases__r>
<Case>
<Id>500D000000G7drpIAB</Id>
</Case>
</Cases__r>
</Address__c>
<Address__c>
<Id>a0HD0000007wQ0EMAU</Id>
<Customers__r>
<Account>
<Id>001M000000FOEiHIAX</Id>
</Account>
<Account>
<Id>001M000000FOAAbIAP</Id>
</Account>
</Customers__r>
</Address__c>
</Addresses>
次のxml出力を生成したいと考えています。
output.xml
<Addresses>
<Address__c>
<AddrId>a0H20000002uhsyEAA</AddrId>
<CIAddressId>a0L2000000DDpOCEA1</CIAddressId>
<CIAddressId>a0L2000000DDpOCEB2</CIAddressId>
<AccountId>001M000000FOEiHIAX</AccountId>
<AccountId>001M000000FOAAbIAP</AccountId>
<CaseId>500D000000G7drpIAB</CaseId>
</Address__c>
<Address__c>
<AddrId>a0H20000003JjyzEAC</AddrId>
<CaseId>500D000000G7drpIAB</CaseId>
</Address__c>
<Address__c>
<AddrId>a0HD0000007wQ0EMAU</AddrId>
<AccountId>001M000000FOEiHIAX</AccountId>
<AccountId>001M000000FOAAbIAP</AccountId>
</Address__c>
</Addresses>