Permalänk

XML till SVG

Tja!

Jag har fått sommarjobb på ett företag. Mitt uppdrag är att av en XML-fil skapa ett träddiagram i SVG-format som gör det enkelt att titta och förstå uppbyggnaden. Just nu använder man MS Visio. När man ska ändra någonting i XML-filen och vill ändra det samma i Visio måste man göra detta manuellt och därför vill man komma ifrån Visio.

Det största av alla problem är att jag aldrig tidigare arbetat med något av det ovanstående och därför skulle behöva hjälp med att sätta mig in i alla begrepp och försöka få en förståelse för hur saker och ting fungerar.

Jag behöver alltså tips och förslag om hur man ska gå till väga samt någon guide/toutorial. Jag har kollat in toutorials och guider på http://www.w3schools.com men det känns som om det jag ska göra är aningen mer komplicerat.

Tack på förhand!

Permalänk
Medlem
Skrivet av lolislove:

Tja!

Jag har fått sommarjobb på ett företag. Mitt uppdrag är att av en XML-fil skapa ett träddiagram i SVG-format som gör det enkelt att titta och förstå uppbyggnaden. Just nu använder man MS Visio. När man ska ändra någonting i XML-filen och vill ändra det samma i Visio måste man göra detta manuellt och därför vill man komma ifrån Visio.

Det största av alla problem är att jag aldrig tidigare arbetat med något av det ovanstående och därför skulle behöva hjälp med att sätta mig in i alla begrepp och försöka få en förståelse för hur saker och ting fungerar.

Jag behöver alltså tips och förslag om hur man ska gå till väga samt någon guide/toutorial. Jag har kollat in toutorials och guider på http://www.w3schools.com men det känns som om det jag ska göra är aningen mer komplicerat.

Tack på förhand!

Jag tippar på att du inte får påverka XML-filen strukturmässigt. Med andra ord så har du din data precis som den ska vara.
Har ni diskuterat om hur layouten ska se ut?
Har ni diskuterat hur det skall göras?
Diverse verktyg för att skapa och i vilket verktyg det skall presenteras.

Hur menar du med "därför vill man komma ifrån Visio"?

Det verkar finnas många guider på nätet som gör liknande. Det som är frågetecknet är hur det skall göras.

Denna använder XSL (väldigt vanligt mellan XML-data till SVG-presentation) och lite Javascript:
http://www.cwu.edu/~gellenbe/docs/xmltouml/xmltechnicalreport...

Det går ju att skapa upp allt i Javascript, serverside eller på andra sätt också.
Jag tror det är viktigt att specifiera upp från företaget hur det ska göras från första början om du inte har helt fria händer.

Visa signatur

ηλί, ηλί, λαμά σαβαχθανί!?

Permalänk
Skrivet av Leedow:

Jag tippar på att du inte får påverka XML-filen strukturmässigt. Med andra ord så har du din data precis som den ska vara.
Har ni diskuterat om hur layouten ska se ut?
Har ni diskuterat hur det skall göras?
Diverse verktyg för att skapa och i vilket verktyg det skall presenteras.

Hur menar du med "därför vill man komma ifrån Visio"?

Det verkar finnas många guider på nätet som gör liknande. Det som är frågetecknet är hur det skall göras.

Denna använder XSL (väldigt vanligt mellan XML-data till SVG-presentation) och lite Javascript:
http://www.cwu.edu/~gellenbe/docs/xmltouml/xmltechnicalreport...

Det går ju att skapa upp allt i Javascript, serverside eller på andra sätt också.
Jag tror det är viktigt att specifiera upp från företaget hur det ska göras från första början om du inte har helt fria händer.

Det är inget som säger att man inte kan ändra strukturen på XML-filen men jag vet inte hur den skulle kunna förbättras.
Layouten ska vara ett träddiagram där ett system/maskin bryts ner i sina mindre beståndsdelar.
Vi har diskuterat och ungefär kommit fram till att det borde gå att göra. In XML och en XSL-fil en processor få ut en SVG-bild.
Det är en ganska strikt policy om vad man får ladda ner och installera på datorn men det ska nog kunna gå att få in de program man behöver genom att snacka med datanissarna.

Det finns ingen direktkoppling mellan XML och Visio. Ska ändra någonting i systemet/maskinen (någon del ska bytas ut etc) så måste man först ändra i XML-filen och sedan för hand ändra i Visio-filen. Man vill alltså slippa sitta och rita för hand i Visio och istället få det till att när man ändrar i XML-filen så ändras "trädet" direkt. Visio har man bara för att det är så mycket lättare att förstå när man tittar på den än vad det är när man skådar XML-filen.

Jag har fått jobbet genom min låtsas-farsa och eftersom man inte vet exakt hur det ska gå till har jag också ganska fria händer.
Ingenjörerna på jobbet bryr sig inte om det inte ser lika snyggt ut som ett Visio-diagram utan vill bara slippa sitta och ändra på två ställen.
Länken du länka har jag varit inne på och vänt men det kanske vore värt en titt till.

Tillsammans med en annan sommarjobbare lyckades vi idag göra ett träd med hjälp av en XSL vi hittade online. Dock så är det så många delar i systemet barnen och deras barn hamnade i varandra men jag ska ge det ett nytt försök imorgon.

Hittar dock inte XSL-filen när jag letade nu. Har den sparad på jobbet så kan länka den imorgon så kan du få slå en kik på den.

Permalänk

Här har du den filen jag använde igår. Jag bytte helt enkelt bara ut XML-filen mot den i exemplet. Jag kan dock inte få fram hur man gör så att xsl skriver ut namnet på taggar.

Permalänk
Medlem
Skrivet av lolislove:

Det är inget som säger att man inte kan ändra strukturen på XML-filen men jag vet inte hur den skulle kunna förbättras.
Layouten ska vara ett träddiagram där ett system/maskin bryts ner i sina mindre beståndsdelar.
Vi har diskuterat och ungefär kommit fram till att det borde gå att göra. In XML och en XSL-fil en processor få ut en SVG-bild.
Det är en ganska strikt policy om vad man får ladda ner och installera på datorn men det ska nog kunna gå att få in de program man behöver genom att snacka med datanissarna.

Det finns ingen direktkoppling mellan XML och Visio. Ska ändra någonting i systemet/maskinen (någon del ska bytas ut etc) så måste man först ändra i XML-filen och sedan för hand ändra i Visio-filen. Man vill alltså slippa sitta och rita för hand i Visio och istället få det till att när man ändrar i XML-filen så ändras "trädet" direkt. Visio har man bara för att det är så mycket lättare att förstå när man tittar på den än vad det är när man skådar XML-filen.

Jag har fått jobbet genom min låtsas-farsa och eftersom man inte vet exakt hur det ska gå till har jag också ganska fria händer.
Ingenjörerna på jobbet bryr sig inte om det inte ser lika snyggt ut som ett Visio-diagram utan vill bara slippa sitta och ändra på två ställen.
Länken du länka har jag varit inne på och vänt men det kanske vore värt en titt till.

Tillsammans med en annan sommarjobbare lyckades vi idag göra ett träd med hjälp av en XSL vi hittade online. Dock så är det så många delar i systemet barnen och deras barn hamnade i varandra men jag ska ge det ett nytt försök imorgon.

Hittar dock inte XSL-filen när jag letade nu. Har den sparad på jobbet så kan länka den imorgon så kan du få slå en kik på den.

Ok. Kul att det går framåt.
Det låter som att det går bättre än vad du skrev i första posten i alla fall.

Skrivet av lolislove:

Här har du den filen jag använde igår. Jag bytte helt enkelt bara ut XML-filen mot den i exemplet. Jag kan dock inte få fram hur man gör så att xsl skriver ut namnet på taggar.

Fungerar detta?
http://stackoverflow.com/questions/2154533/selecting-current-...

Visa signatur

ηλί, ηλί, λαμά σαβαχθανί!?

Permalänk

Tack för svar!
Ja det har gått bättre för varje dag men nu har vi fastnat igen. Tills nu har vi gjort transformationen genom msxsl men den stödjer inte alla funktioner som vi behöver, xsl 1.1 etc. Förstår jag det hela rätt så måste man i det här exemplet (sidan 440) använda sig av java's "Math-bibliotek" då man ska räkna ut vissa värden. Rätta mig om jag har fel, kan absolut ingenting om java. Det vi vill göra är att anpassa utformningen på trädet så element med många underelement får större plats i trädet (så boxarna inte går in varandra eller täcker varandra). Du kan se det i exemplet. Jag förstår inte riktigt vad man gör i exemplet eller om det går att göra på samma sätt men utan xsl 1.1 så det skulle vara bra om du kunde förklara.

Varför laddar vi då inte ner Saxon eller Xalan? Jo, inget av programmen är godkända att använda hos företaget och därför måste man först "utreda" om vi ska få använda programmet eller inte. Nu sitter jag och väntar på att något av programmen förhoppningsvis ska bli godkända.

Permalänk
Medlem
Skrivet av lolislove:

Tack för svar!
Ja det har gått bättre för varje dag men nu har vi fastnat igen. Tills nu har vi gjort transformationen genom msxsl men den stödjer inte alla funktioner som vi behöver, xsl 1.1 etc. Förstår jag det hela rätt så måste man i det här exemplet (sidan 440) använda sig av java's "Math-bibliotek" då man ska räkna ut vissa värden. Rätta mig om jag har fel, kan absolut ingenting om java. Det vi vill göra är att anpassa utformningen på trädet så element med många underelement får större plats i trädet (så boxarna inte går in varandra eller täcker varandra). Du kan se det i exemplet. Jag förstår inte riktigt vad man gör i exemplet eller om det går att göra på samma sätt men utan xsl 1.1 så det skulle vara bra om du kunde förklara.

Varför laddar vi då inte ner Saxon eller Xalan? Jo, inget av programmen är godkända att använda hos företaget och därför måste man först "utreda" om vi ska få använda programmet eller inte. Nu sitter jag och väntar på att något av programmen förhoppningsvis ska bli godkända.

Jag har inte hållt på allt för mycket med xslt, xml och svg tillsammans. Vad jag vet så finns det många olika sätt att göra det på. Mitt förslag är att när ni väl har en variant ni har börjat med så borde ni köra på det. Jag hade exempelvis inte blandat in Java för några mattefunktioner.

Exemplet använder sig av Math-funktioner i Java, exempelvis max(). Det enda max() gör är att returnera den största av två inputvärden.
Math.max(1,2); // Returnerar 2

Det går ju att få fram det resultatet utan den funktionen med vanliga if-satser.
Om ni har tillgång att köra Javascript så kan man göra den funktionen där också.

Visa signatur

ηλί, ηλί, λαμά σαβαχθανί!?