Hey allemaal,
Ik ben al enige tijd bezig met een groot project waarbij de laatste stap bestaat uit het omzetten van een flatfile naar XML. Voor de beperkte proof-of-concept heb ik hiervoor een Java-tool geschreven die dit doet met handmatig ingevoerde XQuery-paden, maar voor de uiteindelijke applicatie moet hier uiteraard een wat robuustere oplossing voor gevonden worden.
Ik ben vooral aan het spelen met transformaties via XSL, maar stuit hierbij op het probleem dat er meerdere groepen values zijn in het bronbestand die telkens per groep een node moeten vormen van dezelfde sequence in het resulterende bestand.
In versimpelde vorm heb ik bijvoorbeeld dit stukje uitvoer:
Hiervoor en -achter staat nog allerlei andere data, maar het relevante hier is dat deze 3 regels output dezelfde soorten data representeren, maar met verschillende namen. Hoeveel het er worden staat niet vast, maar in de praktijk worden het er gegarandeerd maximaal 20. De namen zullen dan variëren van S1P1 tot S1P20.
Ik gebruik de XML Mapper mogelijkheid van JDeveloper om een XSL te ontwerpen, maar hierbij lijkt het niet mogelijk om meerdere source-nodes aan te wijzen als bronnen voor een type in de gewenste XSD.
Als output zou ik bijvoorbeeld het volgende willen hebben:
Ik krijg het gevoel dat ik wellicht totaal in de verkeerde richting zoek, maar diverse zoekopdrachten leveren niet de gewenste oplossing. Ik vraag me ook af wat ik als zoekopdracht moet gebruiken aangezien het probleem lastig te omschrijven is.
Op de flatfile die ingevoerd wordt heb ik enige invloed, dus daar kan nog wat voorbewerking gedaan worden indien nodig.
Een laatste mogelijkheid voor me zou zijn om alsnog verder te gaan met de Java-tool, maar gezien veel uitgebreidere scope van de applicatie t.o.v. de proof-of-concept wordt dat erg omvangrijk en niet erg flexibel. Heeft iemand enig idee hoe ik dit kan doen met XSL, of zijn er wellicht andere mogelijkheden?
Ik ben al enige tijd bezig met een groot project waarbij de laatste stap bestaat uit het omzetten van een flatfile naar XML. Voor de beperkte proof-of-concept heb ik hiervoor een Java-tool geschreven die dit doet met handmatig ingevoerde XQuery-paden, maar voor de uiteindelijke applicatie moet hier uiteraard een wat robuustere oplossing voor gevonden worden.
Ik ben vooral aan het spelen met transformaties via XSL, maar stuit hierbij op het probleem dat er meerdere groepen values zijn in het bronbestand die telkens per groep een node moeten vormen van dezelfde sequence in het resulterende bestand.
In versimpelde vorm heb ik bijvoorbeeld dit stukje uitvoer:
XML:
1
2
3
4
5
| (...) <S1P1>Data1</S1P1> <S1P2>Data2</S1P2> <S1P3>Data3</S1P3> (...) |
Hiervoor en -achter staat nog allerlei andere data, maar het relevante hier is dat deze 3 regels output dezelfde soorten data representeren, maar met verschillende namen. Hoeveel het er worden staat niet vast, maar in de praktijk worden het er gegarandeerd maximaal 20. De namen zullen dan variëren van S1P1 tot S1P20.
Ik gebruik de XML Mapper mogelijkheid van JDeveloper om een XSL te ontwerpen, maar hierbij lijkt het niet mogelijk om meerdere source-nodes aan te wijzen als bronnen voor een type in de gewenste XSD.
Als output zou ik bijvoorbeeld het volgende willen hebben:
XML:
1
2
3
4
5
6
7
| (...) <S1> <text>data1</text> <text>data2</text> <text>data3</text> </S1> (...) |
Ik krijg het gevoel dat ik wellicht totaal in de verkeerde richting zoek, maar diverse zoekopdrachten leveren niet de gewenste oplossing. Ik vraag me ook af wat ik als zoekopdracht moet gebruiken aangezien het probleem lastig te omschrijven is.
Op de flatfile die ingevoerd wordt heb ik enige invloed, dus daar kan nog wat voorbewerking gedaan worden indien nodig.
Een laatste mogelijkheid voor me zou zijn om alsnog verder te gaan met de Java-tool, maar gezien veel uitgebreidere scope van de applicatie t.o.v. de proof-of-concept wordt dat erg omvangrijk en niet erg flexibel. Heeft iemand enig idee hoe ik dit kan doen met XSL, of zijn er wellicht andere mogelijkheden?
Eigenaar/brouwer Milky Road Brewery