XSL - Attributen verwerken
Versie door Jeroen Strompf (overleg | bijdragen) op 18 apr 2018 om 14:32 (→Situatie (2): Attribuutwaarde wordt nieuw element)
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
- https://stackoverflow.com/questions/5332266/xslt-copy-attributes-from-child-element
- https://stackoverflow.com/questions/5941233/how-to-copy-specific-attribute-using-xslt
- https://stackoverflow.com/questions/45882396/in-xslt-how-to-copy-all-attributes-from-all-child-nodes-to-root-node-of-xml
- https://stackoverflow.com/questions/19016023/xslt-copy-attribute-into-a-new-element-in-the-child - Dit is precies mijn probleem
- http://dh.obdurodon.org/identity.xhtml