Den aktuelle delen av xml-strømmen er strukturert slik:
<record name="GRP-START" case="GRPNAME1">.../<record>
<record name="hvasomhelst1" case="casenum1">.../<record>
<record name="hvasomhelst2" case="casenum2">.../<record>
<record name="hvasomhelst3" case="casenum1">.../<record>
<record name="GRP-END" case="statistics">.../<record>
<record name="GRP-START" case="GRPNAME2">.../<record>
<record name="hvasomhelst4" case="casenum1">.../<record>
<record name="hvasomhelst2" case="casenum3">.../<record>
<record name="hvasomhelst5" case="casenum4">.../<record>
<record name="GRP-END" case="statistics">.../<record>
osv
Hver record-gruppe innledes og avsluttes med en marker record. Jeg
ønsker å inkludere/ekskludere record-grupper i rapporten ut fra
gruppenavnet i case-attributtet i GRP-START record.
Jeg ville jo likt å ha en gruppestruktur hvor et eller annet
identifiserer records som danner en gruppe, og jeg har spurt
leverandøren av applikasjonen om å legge et nytt attributt grpname på
hver record slik at applikasjonen legger ut, for eksempel slik:
<record name="GRP-START" case="GRPNAME1" grpname="GRPNAME1">..../<record>
<record name="hvasomhelst1" case="casenum1" grpname="GRPNAME1">..../<record>
idet jeg antar dette ville forenkle min oppgave vesentlig uten å
brekke applikasjonen eller eksisterende transformasjoner som
virker med dagens xml-strøm.
Resultatet er negativt, så langt. Det samme gjelder muligheten for å
få applikasjonen til å produsere en hierarkisk struktur av typen
<recordgroup name="GRPNAME1">
<record name="hvasomhelst1" case="casenum1">.../<record>
<record name="hvasomhelst2" case="casenum2">.../<record>
<record name="hvasomhelst3" case="casenum1">.../<record>
</recordgroup>
Dermed er jeg framme ved spørsmålet. Hvilke løsninger er verd å
forsøke? Jeg har vært innom noen (som keys og Muench) uten egentlig å
få skikkelig tak på det. Noe sier meg at det finnes en svært enkel
løsning, men hva?
--
Odd Skjaeveland odd.p...@hamso.no
> Dermed er jeg framme ved spørsmålet. Hvilke løsninger er verd å
> forsøke? Jeg har vært innom noen (som keys og Muench) uten egentlig å
> få skikkelig tak på det. Noe sier meg at det finnes en svært enkel
> løsning, men hva?
Be om å få XSD-en?
--
En Fremmed sa jeg måtte ha en .sig:
Ignoranter i alle land, det er september. Foren eder på news.
> Odd Skjaeveland <odd.p...@hamso.no> writes:
>
>> Dermed er jeg framme ved spørsmålet. Hvilke løsninger er verd å
>> forsøke? Jeg har vært innom noen (som keys og Muench) uten egentlig å
>> få skikkelig tak på det. Noe sier meg at det finnes en svært enkel
>> løsning, men hva?
>
> Be om å få XSD-en?
Hvorfor mener du det vil hjelpe i et tilfelle som dette?
--
Odd Skjaeveland odd.p...@hamso.no
>> Hvorfor mener du det vil hjelpe i et tilfelle som dette?
>
> Fordi da kan man autogenerere kode.
I teorien kan man det. Jeg har ingen erfaring med slike verkt�y, men
jeg har sett et (fra Stylus, tror jeg) i bruk. Det fungerte i den
forstand at XSLT-kodenen virket. XML-koden var imidlertid ikke verre
enn at h�ndlaget XSLT-kode virket like godt.
Det er en del av problemet, slik jeg ser det, at jeg forel�pig ikke er
i stand til � konstruere en tilfredsstillende XSLT-kode. Det kan
tenkes at jeg ender opp med � pr�ve automatikk og studere resultatet
for � l�re fra det, men jeg h�pet prim�rt p� input som kan hjelpe meg
i l�reprosessen.
--
Odd Skjaeveland odd.p...@hamso.no
> Helge Rene Urholm:
>
>>> Hvorfor mener du det vil hjelpe i et tilfelle som dette?
>>
>> Fordi da kan man autogenerere kode.
>
> I teorien kan man det. Jeg har ingen erfaring med slike verktøy, men
> jeg har sett et (fra Stylus, tror jeg) i bruk. Det fungerte i den
> forstand at XSLT-kodenen virket. XML-koden var imidlertid ikke verre
> enn at håndlaget XSLT-kode virket like godt.
>
> Det er en del av problemet, slik jeg ser det, at jeg foreløpig ikke er
> i stand til å konstruere en tilfredsstillende XSLT-kode. Det kan
> tenkes at jeg ender opp med å prøve automatikk og studere resultatet
> for å lære fra det, men jeg håpet primært på input som kan hjelpe meg
> i læreprosessen.
Jeg er litt usikker på XSL-tingene her, men for meg ser det
umiddelbart ut som om XMLen ikke er av de smartest lagde (kan seff
være at noen smartere enn meg vil ha noe å innvende). Poenget mitt er
alikevel at med en XSD kan du gjøre akkurat som du foreslår og lære av
resultatet gitt at det faktisk finnes en XSD og at problemet er
"løsbart". Jeg har sett nok av elendig konstruert XML uten xsd (og med
XSD for den saks skyld) til at ting er noenlunde håndterbart.
XMLSpy er ett verktøy som muligens kan gi deg noe hjelp. Får
prøveversjoner på det fra Altova om du ikke vil prøise 10k for ett
slikt verktøy. Styr med fordel unna alt som er i public domain (les:
java-surr) siden det ofte ikke fungerer eller gir "feil" resultater.
Jeg har bladd litt i XSLT boka mi og sett om jeg fant noen "kjappe"
løsninger på denne saken, men jeg er hverken stø nok i XSLT eller
annet til å finne noe på kort tid. Eksemplet ditt er det også noe rart
med så om du slenger inn ett "ordentlig" eksempel kan jeg muligens i
løpet av påska se noe mer på det.
> Helge Rene Urholm:
>
>>> Hvorfor mener du det vil hjelpe i et tilfelle som dette?
>>
>> Fordi da kan man autogenerere kode.
>
> I teorien kan man det. Jeg har ingen erfaring med slike verktøy, men
> jeg har sett et (fra Stylus, tror jeg) i bruk. Det fungerte i den
> forstand at XSLT-kodenen virket. XML-koden var imidlertid ikke verre
> enn at håndlaget XSLT-kode virket like godt.
>
> Det er en del av problemet, slik jeg ser det, at jeg foreløpig ikke er
> i stand til å konstruere en tilfredsstillende XSLT-kode. Det kan
> tenkes at jeg ender opp med å prøve automatikk og studere resultatet
> for å lære fra det, men jeg håpet primært på input som kan hjelpe meg
> i læreprosessen.
Tror nesten alle "grouping solutions" er beskrevet her:
http://www.dpawson.co.uk/xsl/sect2/N4486.html#d5923e424.
"Positional Grouping" (10) er muligens den som er nærmest ditt
problem. Det er mange andre eksempler der som muligens også kan gi deg
mer input.
> Tror nesten alle "grouping solutions" er beskrevet her:
> http://www.dpawson.co.uk/xsl/sect2/N4486.html#d5923e424.
>
> "Positional Grouping" (10) er muligens den som er nærmest ditt
> problem. Det er mange andre eksempler der som muligens også kan gi deg
> mer input.
Jeg har vært gjennom nettstedet du viser til, uten å finne noe som
virker. Alle eksemplene starter med en XML som i det minste har noe
(tre-)struktur og hvor elementer som hører sammen i en gruppe, har et
eller annet felles (som attributt eller foreldre-element). Med
henvisning til din tidligere kommentar er det enkelt å konkludere at
XMLen jeg sliter med, trolig er laget av en som er mer fortrolig med
for-next i C eller liknende, enn med foreach i XSLT (foreach er
strengt tatt ikke en loop). XML-koden bærer kort og godt ikke preg av
å være laget av en XML-kyndig. På litt sikt har jeg et håp om at
leverandøren kan endre applikasjonen til å lage bedre XML, men inntil
dess får jeg prøve å finne en løsning. Jeg tror i og for seg at jeg
har funnet et spor, men XSLTen ble så stygg(!) at jeg konkluderte med
at jeg trenger input fra andre.
--
Odd Skjaeveland odd.p...@hamso.no