XSL - Attributen verwerken

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen

Het probleem

Ik wil XML-code importeren in een database. Daarbij komen alle eind-nodes overeen met kolomnamen. Daarvoor moeten tags uniek zijn. Dat heb ik hier geregeld. Nu het volgende probleem: Wat doe ik met attributen? → Die wil ik omfietsen naar aparte tags, om ze op dezelfde manier te kunnen importeren als de andere tags --

Maar niet altijd: Er zijn twee situaties:

Situatie (1): Attribuutnaam wordt nieuw element

Concreter: Ik wil invoer zoals

<items>
   <item type="S">
      <description>Betaalkosten</description
   </item>
...
</items>

transformeren naar

<items>
   <item>
      <item_type>S</item_type>
      <description>Betaalkosten</description
   </item>
...
</items>

Situatie (2): Attribuutwaarde wordt nieuw element

Invoer zoals

<FreeFields>
  <FreeTexts>
    <FreeText number="1"/>
    <FreeText number="2"/>
    <FreeText number="3"/>
    <FreeText number="4"/>
    <FreeText number="5">Codes</FreeText>
    <FreeText number="6">Codes</FreeText>
    <FreeText number="7"/>
    <FreeText number="8"/>
    <FreeText number="9"/>
    <FreeText number="10"/>
  </FreeTexts>
</FreeFields>

moet worden:

<FreeFields>
  <FreeTexts>
    <FreeText_number_01/>
    <FreeText_number_02/>
    <FreeText_number_03/>
    <FreeText_number_04/>
    <FreeText_number_05>Codes</FreeText_number_05>
    <FreeText_number_06>Codes</FreeText_number_06>
    ...
  </FreeTexts>
</FreeFields>

Attributen verwerken