Jump to content
Sign in to follow this  
Patton

XML to XML Konvertering

Recommended Posts

Hallo,

 

jeg er paa jakt etter en programvare/bibliotek som kan "mappe" XML filer med en bestemt struktur en annen struktur.

 

Bakgrunnsinfo:

Jeg har vaert med og utviklet en programvare som i det siste har gaatt gjennom saa mange software endringer slik at konfigurasjonsfilene fra en gammel versjon overhode ikke er kompatibel med nye versjoner. Konfigurasjonsfilene er i XML.

 

De enkleste endringene er text element->attribute, forandring av element navn, de litt vaerre endringene er flytting av egenskaper fra en konfigurasjonsfil til en annen, total andre strukturer.

 

 

Det beste hadde selvsagt vaert om programmet/biblioteket kunne ha tatt av seg alt arbeidet, men hovedsaklig skal den ta seg av det stoerste grovarbeidet. Jeg kommer nok til aa dele opp XML transformasjonen i flere faser, og forhaapentligvis har jeg et verktoy som kan lette arbeidet mitt betraktelig.

 

Noen forslag?

 

P.s.: Jeg programmerer hovedsaklig Java, men om noedvendig saa tar jeg til takke med litt VB.

Share this post


Link to post
XML er jo praktisk talt "Javas hjemmland" (kombinert med alle substantivene; http://steve-yegge.blogspot.com/2006/03/ex...-of-nouns.html), men om du er ute etter noe nytt er Lisp eller Ruby greia tror jeg.

 

.."noen forslag"? .. Hva er problemet? .. :)

6606668[/snapback]

Joda, java og XML er finfin kombinasjon, og jeg har jobbet med SAXBuilder og JDom, men da maa jeg gjoere "alt" selv. Tenkte kanskje det finnes et verktoey som er spesialisert paa xml-to-xml konvertering, kanskje noe som tar utgangspunkt i allerede eksisterende formater (f.eks. XSLT, som jeg foroevrig ikke er saa bevandret i).

 

Jeg vil helst ikke finne opp kruttet, og velger gjerne minste motstands vei for aa faa loest denne oppgaven. Haapte paa at noen her har erfaring med XML-to-XML problematikk og kunne komme med noen konkrete eksempler hva som kan vaere aktuelt av hjelpemidler (egen software, java bibliotek, und so weiter).

 

F.eks.

Joost. Duger denne til mitt formaal? Er det enkelt aa sette seg inni og kan forenkle arbeidet mitt?

Share this post


Link to post

Kjapt innspill; tror ikke jeg ville konvertert XML'en utenfor programmet som skal bruke den. Jeg ville i stedet hatt en "omformer" som tar seg av de gammle versjonene av XML-filene, og en "omformer" som tar seg av de nye.

 

Når ting lagres brukes det nye formatet i begge tilfeller, altså uavhengig om input var av gammelt format eller nytt.

 

Når det gammle XML-formatet leses inn fylles "dummy-verdier" inn for nye medlemmer i strukturer o.l.. Jeg tror det er mer jobb å utføre denne oppgaven "utenfor" programmet ditt der du ikke har direkte tilgang til informasjon om grensesnittet til funksjoner og strukterer o.s.v..

 

edit:

Kort sagt så bør programmet håndtere det gammle formatet selv - altså i tillegg til det nye. Om dere har tilgang til alle XML-filer ville jeg fortsatt gjordt det samme, men fjernet omformeren for det gammle formatet når alt er konvertert.

 

Om det er snakk om store mengder data kommenterer dere bare ut biten som kaller opp GUI ellerwhatever og erstatter den med noe som itererer alle XML-filene og konverterer dem.

 

edit2:

hmm - brukte jeg akkurat tid på å si noe som i utgangspunktet er totalt åpenbart og utprøvet for lengesiden?

Edited by lnostdal

Share this post


Link to post
Kjapt innspill; tror ikke jeg ville konvertert XML'en utenfor programmet som skal bruke den. Jeg ville i stedet hatt en "omformer" som tar seg av de gammle versjonene av XML-filene, og en "omformer" som tar seg av de nye.

 

Når ting lagres brukes det nye formatet i begge tilfeller, altså uavhengig om input var av gammelt format eller nytt.

 

Når det gammle XML-formatet leses inn fylles "dummy-verdier" inn for nye medlemmer i strukturer o.l.. Jeg tror det er mer jobb å utføre denne oppgaven "utenfor" programmet ditt der du ikke har direkte tilgang til informasjon om grensesnittet til funksjoner og strukterer o.s.v..

 

edit:

Kort sagt så bør programmet håndtere det gammle formatet selv - altså i tillegg til det nye. Om dere har tilgang til alle XML-filer ville jeg fortsatt gjordt det samme, men fjernet omformeren for det gammle formatet når alt er konvertert.

 

Om det er snakk om store mengder data kommenterer dere bare ut biten som kaller opp GUI ellerwhatever og erstatter den med noe som itererer alle XML-filene og konverterer dem.

 

edit2:

hmm - brukte jeg akkurat tid på å si noe som i utgangspunktet er totalt åpenbart og utprøvet for lengesiden?

6609383[/snapback]

Hei,

 

forslaget ditt er bra det :) . En automatisk omformer som du beskriver hadde vaert optimalt. Dessverre er det i noen konfigurasjonsoppsett veldig vanskelig, og kanskje til og med umulig. XML-filene gjenspeiler egentlig serialisering av java-objekter, og disse objektene har i noen tilfeller forandret seg til det ugjenkjennelige, slik at brukerinteraksjon er tvingende noedvendig. Det er (heldigvis) ikke snakk om on-the-fly konvertering, heller en run-once konvertering, og aldri igjen (forhaapentligvis).

 

Egentlig er denne transformasjonsbiten oppstaatt pga av daarlig backward-kompatibilitet i vaart program. I de 2 siste aarene har det oppstaatt en del nye kunde-oensker for vaert kundeprosjekt og vi hadde rett og slett ikke tid til aa lage et generelt format som passer alle naavaerende og fremtidige funksjonaliteter. Naa kommer "eldre-boelgen" av gammel software som trenger en upgrade, og naa svir vaar kortsiktige planlegging :blush: .

 

Forresten, vaart program er egentlig et styringsprogram for smaa og mellomstore anlegg, ikke et "vanlig brukerprogram". Altsaa ingen massevare.

Share this post


Link to post

Når det gjelder XML til XML-konvertering ville jeg absolutt gått for XSLT. Denne er jo skapt til dette formålet. Bruk litt tid på å sette deg inn i dette, så bør det gå greit.

 

Øyvind

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...