Avatar billede shemeri Praktikant
19. marts 2005 - 04:28 Der er 4 kommentarer

d attribute i SVG

Hej,

hvordan kan jeg bruge XSLT til at trække d attribute i svg dokument og tranform data til XML som følgende: (eksample)

<path>
<d>
<move position="absolute"> <x>0</x><y>312</y></move>
<line>
<x>78</x><y>120</y>
</line>
<vline>
<x>87</x><y>11</y>
</vline>
<dcubic>
<dx>40</dx><dy> 48</dy><dx>120</dx><dy>-32</dy><dx>160</dx><dy>-6</dy></dcubic>
<dcubic>
<dx>0</dx><dy>0</dy><dx>5</dx><dy>4</dy><dx>10</dx><dy>-3</dy></dcubic>
<z />
</d>
</path>
Avatar billede Slettet bruger
20. marts 2005 - 00:14 #1
XSLT er lidt fattig mht. streng-manipulation af dén karakter - jeg tror du vil få hurtigere resultater ved at lave konverteringen med i et programmeringssprog med Regular Expressions...
Avatar billede shemeri Praktikant
20. marts 2005 - 16:52 #2
man kan godt gør det ved hjælp af "recursion" men jeg er ikke hel klar over hvordan.

eks.
vi har en path med d attribute:
<path d="M 0 312c40 48 120-32 160-6 0 0 5 4 10-3z">

den d attribute kan trækkes ud ved hjælp af "choose when" og "recursion" og få resultat:
<path>
<d>
<move position="absolute"> <x>0</x><y>312</y></move>
<dcubic>
<dx>40</dx><dy> 48</dy><dx>120</dx><dy>-32</dy><dx>160</dx><dy>-6</dy></dcubic>
<dcubic>
<dx>0</dx><dy>0</dy><dx>5</dx><dy>4</dy><dx>10</dx><dy>-3</dy></dcubic>
<z />

vi ved at en cubic skal have 6 tal!!
Avatar billede Slettet bruger
21. marts 2005 - 13:56 #3
Jeg mente sandelig ikke at det ikke kunne lade sig gøre - kun at det er meget nemmere med f.eks. en RegExp i et decideret programmeringssprog :-)

/CS
Avatar billede shemeri Praktikant
21. marts 2005 - 16:31 #4
Ja, jeg ved det godt :-) men det er nødvendigt at jeg gør det med XSLT :-(
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester