[XML] afbeelding xml*

Pagina: 1
Acties:

  • stean
  • Registratie: November 2000
  • Laatst online: 15-09 11:32
waarom laat die het plaatje niet zien??
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
xsl template:
<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
  <html>
    <body>
        <table border="1"><tr><td>
            <xsl:apply-templates/>
        </td></tr></table>
  </body>
  </html>

</xsl:template>


<xsl:template match="basis">
    <xsl:apply-templates/>
</xsl:template>


<xsl:template match="article">
<img>
<xsl:attribute name="src"><xsl:value-of select="source"/></xsl:attribute>
</img>

    <tr><td><xsl:value-of select="title"/></td>
    <td><xsl:value-of select="author"/></td>
    <td><xsl:value-of select="date"/></td>
    <td><xsl:value-of select="keywords"/></td>
    <td><xsl:value-of select="bodycontent"/></td></tr>
</xsl:template>

<xsl:template match="bodycontent">
    <td><xsl:value-of select="p"/></td>
</xsl:template>

</xsl:stylesheet>

xml-code:
<?xml version="1.0" standalone="no"?>
<!DOCTYPE basis [
<!ELEMENT bodycontent (#PCDATA)>
<!NOTATION JPEG SYSTEM "image/jpeg">
<!ENTITY ROGER SYSTEM "logo.jpg" NDATA JPEG>
<!ATTLIST article SOURCE ENTITY #REQUIRED>
]>
<?xml-stylesheet type="text/xsl" href="../someXMLfile.xsl" ?>
<basis>
<article SOURCE="ROGER">
<author>aa</author>
<date>bb</date>
<title>cc</title>
<keywords>dd</keywords>
<bodycontent>
<P>abcdefghijklmnopqrstuvwxyz</P>
<P>ABCDEFGHIJKLMNOPQRSTUVWXYZ</P>
<P>aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz</P>
<P>AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ</P>
</bodycontent>
</article>
</basis>

tevens wil ik graag dat die de p-tag in de bodycontent ook wordt uitvoerd(in html dan).Alleen lukt me dat niet en ik heb het idee dat ik de xsl-file veel beter kan maken. Probleem is dan alleen dat ik dat (nog)niet echt kan. Dus als ik wat fout doe, zeg het graag maar schiet me niet af wil je?

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Allereerst zou ik maar eens van de workingdraft namespace afstappen... Verder is het vrij goed om een xsl:output method op te geven...

Ik zou eens een goede tutorial raadplegen zoals bijvoorbeeld op http://www.xfront.com/xsl.html :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • stean
  • Registratie: November 2000
  • Laatst online: 15-09 11:32
Op vrijdag 01 februari 2002 15:09 schreef mbravenboer het volgende:
Allereerst zou ik maar eens van de workingdraft namespace afstappen... Verder is het vrij goed om een xsl:output method op te geven...

Ik zou eens een goede tutorial raadplegen zoals bijvoorbeeld op http://www.xfront.com/xsl.html :) .
uuh ik snap hier niet zo veel van. Kan je het specificeren?

btw. ik had de link al uit eedere posts gevonden :)

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
stean: uuh ik snap hier niet zo veel van. Kan je het specificeren?
Je XSL is 'oude-ie-xsl' :) . IE heeft de working-draft van XSLT geimplementeerd. Het was toen dus nog geen standaard. Helaas heeft Microsoft het lange tijd verzuimd om deze implementatie te vervangen door de implementatie van de standaard zelf, die al in 1999 is uitgekomen. Deze W3C Recommendation zou je nu moeten gebruiken en wordt vooral in IE 6.0 en Mozilla goed ondersteund.

Je gebruikt dus waarschijnlijke oude documentatie.

Je moet dus een andere namespace gebruiken, die je kan vinden in die tutorial op xfront of bijvoorbeeld in mijn voorbeeld in dit topic:
[topic=398637/1/25]
btw. ik had de link al uit eedere posts gevonden :)
Das heel goed :) .

verder ben ik niet zo dol op entities. Ik gebruik ze zelf eigenlijk nooit.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • stean
  • Registratie: November 2000
  • Laatst online: 15-09 11:32
Ik wist niet hoe ik anders het plaatje met xml in mijn output kreeg.(is er een betere manier?) zo stond het in het boek namelijk.Dit boek heet: XMl, het complete handboek van elliotte Rustu harold, academic service. ISBN:9039516138 Copy.2000

Maar goed heb het draadje bekeken en nog (stean voelt zich dom worden) niet echt wijzer geworden. :'( ik denk dat jij bedoelt dat ik met attributten moet werken ipv elementen?

wat betreft namespaces die heb je in dat draadje ook niet gebruikt toch? ooh ja deze regel
code:
1
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

maar dat maakt in dit geval toch niks uit? denk je xml te leren, nieuw boek voor je te hebben , krijg je de opmerking oude documentatie ;'( zucht.

btw hoe zie je aan mijn xsl dat het oud is?alleen door de namespace?

Ik zag alwel dat jij,mbravenboer, het meeste weet hier zo in de xml topics. dus dat geeft me alwel een beetje moed

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
stean: [namespace] maar dat maakt in dit geval toch niks uit?
Nou, dat maakt wel behoorlijk wat uit :) . Veel implementaties ondersteunen alleen de recommendation en niet de working-draft. Omdat XML erg strict is 'verstaan' ze de stylesheet met een verkeerde namespace dan ook niet...
denk je xml te leren, nieuw boek voor je te hebben , krijg je de opmerking oude documentatie ;'( zucht.
Dat is inderdaad vrij klote ja.... sorry dat ik zei, maar ja: het is echt zo... Ik kan je de eerder genoemde tutorial nogmaals aanbevelen, dat is de manier waarop ik kennis hebt gemaakt met XSLT. Aangevuld met wat extra references heb je een uitstekende verzameling documentatie :) .
btw hoe zie je aan mijn xsl dat het oud is?alleen door de namespace?
Yep.

Ik zal wel even een klein voorbeeldje posten straks. :)

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • stean
  • Registratie: November 2000
  • Laatst online: 15-09 11:32
bedankt voor je tips en trucs.
en je opmerking vond ik niet erg,
alleen de waarheid kan soms hard zijn. ;(

Ik ben nu bezig dit te fixen
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

<xsl:output method="html"/>
<xsl:template match="/">
  <html>
    <body>
        <table border="1"><tr>
         <xsl:for-each select="/basis/article">
                <TR>
                    <TD><xsl:value-of select="author"/></TD>
                    <TD><xsl:value-of select="date"/></TD>
                    <TD><xsl:value-of select="title"/></TD>
                    <TD><xsl:value-of select="keywords"/></TD>
                </TR>
              </xsl:for-each>
        </tr></table>
    </body>
  </html>
</xsl:template>
</xsl:stylesheet>

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Ok, ik heb even wat in elkaar gezet:

Dit is nu de XML:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xml version="1.0"?>

<basis>
    <article source="mydir/logo.jpg">
      <author>Martin Bravenboer</author>
      <date>bb</date>
      <title>cc</title>
      <keywords>dd</keywords>
    
      <bodycontent>
        <p>Teskt1</p>
        <p>Teskt2</p>
      </bodycontent>
    </article>
</basis>

Merk op dat ik de DTD stuff eruit heb gehaald. Dit is niet noodzakelijk en als je al een DTD maakt zou ik altijd een volledige DTD maken :) .

Dan nu de stylesheet. Ik heb een iets andere opmaak genomen omdat ik die tables niet precies zag. Ik houd ervan om het netjes te doen, daarom heb ik ook doc-types opgenomen voor XHTML. Dat maakt de header wat groot, maar dat is allemaal standaard werk :) .
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?xml version='1.0'?>

<xsl:stylesheet version="1.0"
            xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
              xmlns="http://www.w3.org/1999/xhtml">

    <xsl:output method="xml" indent="yes"
                doctype-public="-//W3C//DTD XHTML 1.1//EN"
                doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"/>

    <xsl:template match="basis">
      <html>
        <head>
            <title>Eerste serieuze stylesheet</title>
        </head>
        <body>
            <xsl:apply-templates select="article"/>
        </body>
      </html>
    </xsl:template>

    <xsl:template match="article">
      <h1>
        <xsl:value-of select="title/text()"/>
      </h1>
      
      <p>Geschreven door:
        <xsl:value-of select="author/text()"/>
      </p>

      <p>
        [img]"{@source}"/>
    [/img]

      <xsl:apply-templates select="bodycontent"/>
    </xsl:template>

    <xsl:template match="p">
      <p>
        <xsl:apply-templates/>
      </p>
    </xsl:template>

</xsl:stylesheet>

en daar komt dus keurig netjes dit uit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
      <title>Eerste serieuze stylesheet</title>
    </head>

    <body>
      <h1>cc</h1>
      <p>Geschreven door: Martin Bravenboer</p>

      <p>
        [img]"mydir/logo.jpg"[/img]
      </p>

      <p>Teskt1</p>
      <p>Teskt2</p>
    </body>
</html>

Simpel he? :) .

Als je body content ook andere HTML mag zijn moet je nog even beter met namespaces gaan werken. Ik zou dit echter pas gaan doen als je een stuk verder bent met XSLT. Sowieso moet je even wat recente docs door gaan nemen :) .

Je kunt voor html eens in dit topic kijken:
[topic=393866/1/25]

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Owh je had ge-edit :) .
stean: Ik ben nu bezig dit te fixen
Dat ziet er al een stuk beter uit. Alleen die for-eaches zijn weer niet zo leuk, die zou ik zoveel mogelijk vervangen door losse templates :) . Soms ontkom je er haast niet, maar over het algemeen is het beter om ze niet te gebruiken. Ze duiden te veel op een imperatieve programmeerstijl en je buidt de recursieve aard van XSLT dan niet echt uit. Templates dus :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • stean
  • Registratie: November 2000
  • Laatst online: 15-09 11:32
ok ik gebruik jouw code even maar ik zie dat mijn xml code goed is, maar dat je in je voorbeeld geen stylesheet hebt gebruikt?
of had je die regel wel in je*.xml file staan?

Nu kreeg ik het probleem dat de stylesheet niet goed was. maar goed ik ga nog wel pielen.

edit: krijg nu alleen de tekst geschreven door: in beeld en een rood kruisje van de image.meer niet. jij ook? plaatje staat in de xsl directory.
ga weekend houden nu. harstikke bedankt voor je hulp

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
stean: maar dat je in je voorbeeld geen stylesheet hebt gebruikt?
of had je die regel wel in je*.xml file staan?
Oh ja, sorry dat was ik vergeten :) . Ik transformeer niet in een browser, maar een command-prompt processor. Dan hoef je die declaratie niet op te geven. Je kunt gewoon jouw oude declaratie erin zetten.
Nu kreeg ik het probleem dat de stylesheet niet goed was. maar goed ik ga nog wel pielen.
Waarin bekijk je de zaak? Je moet wel IE 6.0 of Mozilla gebruiken :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
stean: krijg nu alleen de tekst geschreven door: in beeld en een rood kruisje van de image.meer niet. jij ook?
Je moet even de locatie van je plaatje goed zetten. Ik had er ter demonstratie even 'mydir' voor gezet. Dat moet je dan even weghalen. Je plaatje wordt relatief ten opzichte van je XML file gezocht.
harstikke bedankt voor je hulp
Graag gedaan :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • stean
  • Registratie: November 2000
  • Laatst online: 15-09 11:32
ik gebruik IE5.5 en microsoft 4.0 parser sdk.

heb al wel xml geparst en zo en dat deed die dus goed maar deze niet. zo dat aan de parser liggen?

edit: mydir had ik al weggehaald. gewoon in de directory waar ook de xsl file staat en nu ook even bij de xmldirectory in.

Maar als die wel de xsl-file vindt maar niet mijn elementen dan ligt het waarschijnlijk aan de parser toch? maardie heb ik net geinstalleerd.

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
stean: ik gebruik IE5.5 en microsoft 4.0 parser sdk.
Ik ben niet al te goed op de hoogte van die versies, maar volgens mij moet dat idd goed gaan... Mozilla even ernaast leggen zou echter geen kwaad kunnen :) .

Ik heb hem daar net even in geprobeerd en het werkte prima. Over het algemeen werkt hij dan ook in IE 6.0.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
stean: Maar als die wel de xsl-file vindt maar niet mijn elementen dan ligt het waarschijnlijk aan de parser toch? maardie heb ik net geinstalleerd.
Hum, hij zou het gewoon moeten doen ja.

Strikt genomen ga ik niet helemaal netjes met mijn namespaces om. Dit heb ik gedaan om het niet nog complexer te maken... Wellicht dat IE6 daarover valt, maar dat lijkt mij sterk want Mozilla en mijn tooltje pikken het dus.

Je zou deze kunnen proberen (de vorige is echter mooier):
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?xml version='1.0'?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <xsl:output method="html" indent="yes"/>

    <xsl:template match="basis">
      <html>
        <head>
            <title>Eerste serieuze stylesheet</title>
        </head>
        <body>
            <xsl:apply-templates select="article"/>
        </body>
      </html>
    </xsl:template>

    <xsl:template match="article">
      <h1>
        <xsl:value-of select="title/text()"/>
      </h1>
      
      <p>Geschreven door:
        <xsl:value-of select="author/text()"/>
      </p>

      <p>
        [img]"{@source}"/>
    [/img]

      <xsl:apply-templates select="bodycontent"/>
    </xsl:template>

    <xsl:template match="p">
      <p>
        <xsl:apply-templates/>
      </p>
    </xsl:template>

</xsl:stylesheet>

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • stean
  • Registratie: November 2000
  • Laatst online: 15-09 11:32
het lijkt erop dat het parsen in IE5.5 + microsoft 4.0 het niet doet en in IE 6.0 wel. Zijn er meer mensen met dit probleem?

De afbeelding wordt nog steeds(in beide IE) niet geladen wat ik ook probeer:
<article SOURCE="http://192.168.1.10/xml/tests/XMLfiles/logo.jpg">

of

<article SOURCE="logo.jpg">

meer ideeen?

  • stean
  • Registratie: November 2000
  • Laatst online: 15-09 11:32
schop ;)

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
stean: schop ;)
Je kunt er toch voorlopig nog niet vanuit gaan dat mensen met niet de aller recentste browser client-side transformaties kunnen uitvoeren. Waarom probeer je het dan nog aan de praat te krijgen in IE5.5?

Zeg gewoon dat Mozilla of IE6.0 moeten downloaden en werk mee aan een betere wereld :P ;) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • stean
  • Registratie: November 2000
  • Laatst online: 15-09 11:32
rustig maar ik heb al ie6 gebruikt maar dan nog doet de afbeelding het niet vandaar mijn vraag.

Mag die dan wel gesteld worden?

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
stean: rustig maar ik heb al ie6 gebruikt maar dan nog doet de afbeelding het niet vandaar mijn vraag.
Owh ja, ik zie het.... verkeerd gelezen :o .

Kan je een linkje online zetten? Dan kijk ik even in Mozilla en kan ik gelijk je source zien.
Mag die dan wel gesteld worden?
Ik praat niet als mod hoor :) . Ik begreep even niet waarom je je druk maakt over IE5.5 :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • stean
  • Registratie: November 2000
  • Laatst online: 15-09 11:32
http://www.sambal-bij.net/stean/1/

is de link. hij doet als ik hem daar uitvoer al meer.

het gaat dus even om het eerste plaatje.

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Online werkte hij niet omdat het mime-type van je XSL stylesheet niet goed staat. Daar valt Mozilla over.

Ik heb de zaak dus even op m'n schijf gezet en daar werkte het (helaas?) prima. Het logo staat er keurig in....

Het wordt dan denk ik erg lastig om te achterhalen waarom het in IE6.0 niet werkt. Ik kan dat sowieso niet omdat ik geen IE6.0 kan draaien (Linux).

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • franklin
  • Registratie: Februari 2000
  • Laatst online: 14-09 14:27

franklin

denkt teveel...

offtopic:
draait ie6 niet in wine?

  • stean
  • Registratie: November 2000
  • Laatst online: 15-09 11:32
het ging om het eerste plaatje he?
het tweede plaatje was om te kijken of die het wel liet zien.

franklin: Wat bedoel je?

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Ah ja, ik zie het... weer niet goed gekeken |:( .

Maar de oplossing is simpel:

In je stylesheet verwijs je naar het attribuut "source". In je XML file heet het attribuut echt "SOURCE". Als je dat verandert in "source" werkt het prima (althans: in Mozilla).

Hier zie je het nut van een command-line tool om je transformatie toe te passen: je kunt zijn wat de output is van je transformatie. Je had dan allang gezien dat er helemaal geen url wordt overgenomen in je img tag :) .

franklin: geen idee... wellicht :) . Mozilla voldoet wel 8-) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • stean
  • Registratie: November 2000
  • Laatst online: 15-09 11:32
aah dat kan het zijn ja.

had jouw code gekopieerd. :9 maar goed dan staar je als een blinde kip naar het scherm en zie je het echt niet...

nu eens eve kijken of die werkt..

ja hij doet het. alles veranderen in kleine letters. had eerst alles in grote letters veranderd maar dat werkte ook weer niet. Nu veel hoofdpijn later en veel hulp doet die toch wat ik wil. :z :z :z :z :z :z :z :z

  • Martijn02
  • Registratie: September 2000
  • Laatst online: 15-09 14:25

Martijn02

/* No Comment */

Ik zit het topic een beetje te volgen, en aangezien ik graag wil weten of het gaat werken, en het ding op mijn server staat heb ik in someXMLfile92.xml 'SOURCE' even veranderd in 'source'

Ik kan helaas alleen in IE 5.00 kijken en daar doet het het maar een heel klein beetje... Als ik de xml open dan zie ik de xls (die wordt dus goed ge-include) maar de andere includes werken niet (ook geen idee of het zou moeten werken, denk het niet eigenlijk... Zal thuis eens met mozilla en IE6 kijken)

/edit grrmbl stefan je was me voor :)

  • stean
  • Registratie: November 2000
  • Laatst online: 15-09 11:32
ach zo blijkt dat je niks klakkeloos moet overnemen bij xml maar het daadwerkelijk goed moet bestuderen en snappen.
>:)

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
stean: ach zo blijkt dat je niks klakkeloos moet overnemen bij xml maar het daadwerkelijk goed moet bestuderen en snappen. >:)
Ik wil niet vervelend doen, maar in in mijn post van 16:33 staat source heel duidelijk in kleine letters in zowel de xml-file als de xsl-stylesheet 8-) .

Beter kijken dus :P .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • stean
  • Registratie: November 2000
  • Laatst online: 15-09 11:32
je hebt gelijk...........
Pagina: 1