Toon posts:

[XML koppelen met XSL] kan dat met prog.

Pagina: 1
Acties:
  • 109 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik ben bezig met XML en wil daar nu een XSL bestand aan koppelen. Dit wil ik proberen te testen in mn browser, maar dit werkt niet!!! Is er een programma waar je dit mee kan doen, of moet het op de server???

  • Woudloper
  • Registratie: November 2001
  • Niet online

Woudloper

« - _ - »

Dit kan toch door gewoon gebruik te maken van MSXML3.0...

dit is een object wat je eventueel middels ActiveX kan aanroepen, maar in je applicatie moet je daar gewoon een reference naar toe kunnen zetten....

Dan kan je dus eenvoudig het XML aan het XSL koppelen.... Maar ik zou zeggen gebruik Google of andere search, want er is genoeg over te vinden...

Verwijderd

Topicstarter
Ik weet dat er genoeg over te vinden is en heb ook al ontzettend veel zinnige informatie gevonden. Ik heb zelf XT. gedownload, maar het werkt niet??? En dat snap ik niet. Wat je moet doen is in de DOS-PROMT c:\>xt A.xml B.xsl in typen, maar dat werkt niet. Ik heb allerlei verschillende mappen geprobeerd waar xt.* bestanden in staan, maar tevergeefs!!!

Is daar dan een oplossing voor??

Verwijderd

Topicstarter
http://www.xs4all.nl/~aiprend/xml/t-o-m-3-2.html

(de bovenstaande link heb ik gebruikt waar een link staat naar XT. en heb gedaan wat er staat...)

  • zoepercavia
  • Registratie: September 2001
  • Laatst online: 26-12-2025
je kan zowel clientside XML parsen met XSL met behulp van Javascript, als serverside met behulp van welke scriptingtaal je ook maar wil (php, asp, c#, enz...)

hier 's een tutorial te vinden over clientside transformatie: http://www.w3schools.com/xsl/xsl_client.asp
en hier serverside in ASP: http://www.w3schools.com/xsl/xsl_server.asp

Panacea.NL als je geinteresserd bent in IT en Geneeskunde!


Verwijderd

Topicstarter
Dat werkt opzich wel, maar het is niet practisch met testen vindt ik. Het mooie van xt. vindt ik dat je .xml en .xsl kan koppelen en dan gelijk de uitvoer kan meegeven. bijvoorbeeld nieuw.html. Dus als iemand kan uitleggen hoe XT. werkt dan ben ik blij :-)

  • Rense Klinkenberg
  • Registratie: November 2000
  • Laatst online: 09-08 19:19
Probeer anders eens een andere xslt parser, zoals Sabletron van Ginger Alliance. Die werkt ook uitstekend en heeft ook gewoon een commandline tooltje om xslt's mee uit te voeren.

  • Stephan Oudmaijer
  • Registratie: Oktober 2000
  • Laatst online: 16-08-2023
internet explorer misschien? kan het gewoon mee hoor! Wel IE 6 gebruiken....
IE heeft wel wat vage trips maar om te testen is het prima..

kijk hier eens:

www.w3schools.com
www.xfront.com

  • zoepercavia
  • Registratie: September 2001
  • Laatst online: 26-12-2025
Verwijderd schreef op 26 augustus 2002 @ 16:46:
Dat werkt opzich wel, maar het is niet practisch met testen vindt ik. Het mooie van xt. vindt ik dat je .xml en .xsl kan koppelen en dan gelijk de uitvoer kan meegeven. bijvoorbeeld nieuw.html. Dus als iemand kan uitleggen hoe XT. werkt dan ben ik blij :-)
euhm.. wat denk je dat browser doet? :P
msxml3 (of 4) is een prima parser hoor, en die jscript code is helemaal niet zo ingewikkeld:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<html>
<body><script type="text/javascript">// Load XML 
var xml = new ActiveXObject("Microsoft.XMLDOM")
xml.async = false
xml.load("cdcatalog.xml")

// Load XSL
var xsl = new ActiveXObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load("cdcatalog.xsl")

// Transform
document.write(xml.transformNode(xsl))</script>

</body>
</html>

Panacea.NL als je geinteresserd bent in IT en Geneeskunde!


Verwijderd

Topicstarter
Ik heb zelf IE5.5 en weet dat ik daar ook wat mee kan, maar de mogelijkheden zijn daar zo mee beperkt. Met XT. kan je bijvoorbeeld *.doc als output genereren. En dat zijn dingen waar ik mee wil expirimenteren, want volgens mij gebruik je dan XML waarvoor het gemaakt is (tenminste... een heel belangrijk een groot voordeel van XML). En wat betreft Sabletron, kan je daar ook bepalen wat voor medium die gebruikt als output??? En zo ja, welke bestanden moet ik daar voor downloaden (er staan er mij iets te veel waar ik uit kan kiezen ... ik ben op XML ook maar een newbie)

Iedereen wel alvast bedankt voor alle tips.

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
Misschien zou je eens moeten kijken naar Apache Cocoon (xml.apache.org/cocoon), een compleet XML publishing framework in de vorm van een Java Servlet. Niet alleen zitten er in de standaard versie al een aantal prima "serializers" zoals (X)HTML, WML, PDF, SVG, ook zijn er veel extra serializers geschreven door derden, en kun je, mits je Java kunt proggen je eigen serializers toevoegen.
Naast de kern van Cocoon (XSLT tranformatie) kun je er ook allerlei verschillende "XML generators" aan koppelen, zoals XML:DB, (E)SQL, LDAP, XSP (lijkt op JSP).
Cocoon is zeer goed uitbreidbaar en schaalbaar, en met de performance wordt het met de voortschrijdende versienummers alleen maar beter. Ik ben er nu een paar weken mee bezig en het rockt echt! _/-\o_ Cocoon!

Oja je hoeft er dus niet voor te kunnen coden in Java (kan dus wel). Syntax is puur XML.

Verwijderd

Topicstarter
Ik heb dat Cocoon gebeuren gedownload, maar het bestaat over het algemeen uit html documenten. Kan je misschien in het kort uitleggen hoe ik de volgende bestanden kan koppelen. Met XT. kon dit op de volgende manier volgens de beschrijving:

c:\>xt BedrijfA.xml bestelling.xsl resultaat.html

in bovenstaande regel wordt dus het .xml .xsl gekoppeld en het resultaat geschreven in een nieuw bestand genaamd resultaat.html

ik heb onderstaande code van de BedrijfA en bestelling geplaatst:

BedrijfA.xml:
code:
1
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0"?>
<bestelling>
  <verkoper>Christian Bokhove</verkoper>
   <product>Scheerschuim extra sterk</product>
    <aantal>25</aantal>
      <datum>
         <dag>1</dag>
         <maand>7</maand>
         <jaar>2001</jaar>
      </datum>
    <klant>Kieran Smit</klant>
</bestelling>

bestelling.xsl
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
<?xml version="1.0"?>
          <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
          <xsl:output method="xml" indent="yes"/>
          
          <xsl:template match="/">
            <bestelling>
                <datum>
                    <xsl:value-of select="/bestelling/datum/jaar"/>
                    <xsl:value-of select="/bestelling/datum/maand"/>
                    <xsl:value-of select="/bestelling/datum/dag"/>
                </datum>
                <klant>Bedrijf A</klant>
                <product>
                    <xsl:apply-templates select="/bestelling/product"/>
                    <aantal><xsl:value-of select="/bestelling/aantal"/></aantal>
                </product>
            </bestelling>
          </xsl:template>
          
          <xsl:template match="product">
            <productnummer>
                <xsl:choose>
                    <xsl:when test=". = 'Scheerschuim extra sterk'">E1516-536</xsl:when>
                    <xsl:when test=". = 'Scheerschuim normaal'">E1516-537</xsl:when>
                    <!-- andere productnummers zouden hier komen -->
                    <xsl:otherwise>00</xsl:otherwise>
                </xsl:choose>
            </productnummer>
            <beschrijving><xsl:value-of select="."/></beschrijving>
          </xsl:template>
          </xsl:stylesheet>

Deze twee bestanden heb ik uit een tut dus ik neem aan dat ze goed zijn...

  • tomato
  • Registratie: November 1999
  • Niet online
Maar wat gaat er nu precies niet goed? Ik gebruik zelf altijd Xalan, MSXSL en Sablotron om command-line te parsen (en dat werkt toch echt heel gemakkelijk).

Verwijderd

Topicstarter
Ik zal het probleem zo goed mogelijk omschrijven.

1. ik heb XT. gedownload via: www.jclark.com/xml/xt.html
2. dat heb ik geunzipt
3. ik heb xt.bat opgezocht in de files die na het unzippen op mn pc gezet zijn.
4. dit stond in de map C:\xt-20020426a-src\demo\xt.bat
5. als ik dubbelklik op xt.bat start ie op en geeft de volgende foutmelding:

C:\xt-20020426a-src\demo>java -cp ..\xt.jar;..\lib\xp.jar;..\lib\xml-apis.jar com.jclark.xsl.sax.Driver *
De opdracht of bestandsnaam is onjuist.

6. open ik een gewoon een dos-promt en ik typ dit in:

C:\xt-20020426a-src\demo>xt BedrijfA.xml bestelling.xsl resultaat.html (of resultaat.xml)

Dan geeftie dezelfde fout.

En volgens de beschrijving die ik volg via:

http://www.xs4all.nl/~aiprend/xml/t-o-m-3-6.html

moet dit wel werken?? rara hoe zit dat dan?

  • tomato
  • Registratie: November 1999
  • Niet online
Heb je de Java runtime wel geinstalleerd? XT is namelijk een Java tool (net als Xalan).

Verwijderd

Topicstarter
Ik denk het dan niet. Ik heb alleen XT. geinstalleerd. Verder niets. Waar kan ik Java runtime vinden? Kan je mij daar wat verder mee helpen?

  • tomato
  • Registratie: November 1999
  • Niet online
Java kun je hier downloaden. Je kunt ook zoeken naar MSXSL op de microsoft website, of zoeken naar sablotron. Deze laatste twee hebben geen Java runtime nodig.

Je kunt ook nog Xalan gebruiken (de C++ versie of de Java versie), of een van de vele ander XSL processors (bijvoorbeeld in je browser).

Verwijderd

Topicstarter
Het gaat de goeie kant op. De foutmelding ben ik nu kwijt alleen krijg ik geen output in de dos-prompt te zien als ik het volgende intyp:

C:\xt-20020426a-src\demo>xt BedrijfA.xml bestelling.xsl

Is daar ook een oplossing voor???

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

moet je geen bestemming opgeven?dat poste je nl eerder wel ;)
dus
C:\xt-20020426a-src\demo>xt BedrijfA.xml bestelling.xsl resultaat.html ;)

Doet iets met Cloud (MS/IBM)


Verwijderd

Topicstarter
Nee dat hoeft niet perse. Heb het al wel geprobeerd... Dus moet het wat anders zijn...

Verwijderd

Topicstarter
Ik krijg trouwens dat gebeuren van sablotron niet aan de praat. Kan namlijk libexpat.dll niet vinden!!
Ik wordt gek!!!
Ben ik echt zo dom??? (durf eens ja te zeggen!)

  • Rense Klinkenberg
  • Registratie: November 2000
  • Laatst online: 09-08 19:19
Verwijderd schreef op 27 augustus 2002 @ 12:07:
Ik krijg trouwens dat gebeuren van sablotron niet aan de praat. Kan namlijk libexpat.dll niet vinden!!
Op de sabletron site staat het volgende:
Dependencies: Sablotron uses James Clark's expat XML parser....
Je moet de expat XML parser dus nog effe apart downloaden. Voor windows moet je dan deze hebben. Daar zal ongetwijfeld wel libexpat.dll inzitten die je effe naar je path moet kopieeren.

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
Verwijderd schreef op 27 augustus 2002 @ 08:57:
Ik heb dat Cocoon gebeuren gedownload, maar het bestaat over het algemeen uit html documenten. Kan je misschien in het kort uitleggen hoe ik de volgende bestanden kan koppelen.
Je kunt Cocoon vanaf op command-line als als Java Servlet draaien. Wanneer je dat eerste wilt, spreek je eigenlijk de componenten waaruit Cocoon bestaat individueel aan. Met een batch process op de commandline kun je zo de verschillende componenten aan elkaar hangen als je dat eventueel ook nog wilt. Maar daarvoor kun je eigenlijk veel beter de servlet aanpak nemen, scheelt een hoop ellende. Aangezien Cocoon standaard Xalan gebruikt voor XSLT tranformatie, moet je in de docs van Xalan zoeken hoe je dat via de command-line aanspreekt:
http://xml.apache.org/xalan-j/commandline.html

Ik gebruik alleen de servlet omgeving. Daarin kun je in een zogenaamde "sitemap", pipelines construeren die een bepaalde generatie -> transformatie -> serialisatie uitvoert op basis van bepaalde "matching" criteria in een URI. Voorbeeldje:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
..
<map:pipeline>
                <!-- voorbeeld statische xml +xslt = html -->
    <map:match pattern="*.html">
        <map:read src="docs/{1}.xml" type="file"/>
        <map:transform src="stylesheets/{1}.xsl"/>
        <map:serialize type="html"/>
     </map:match>

     <!-- voorbeeld dynamische pagina met serverpages --> 
     <map:match pattern="*.xsp">
        <map:generate src="logic/{1}.xsp" type="serverpages"/>
        <map:transform src="stylesheets/{1}.xsl"/>
        <map:serialize type="html"/>
     </map:match>
    ..   
</map:pipeline>
..

Verwijderd

Topicstarter
Ik heb dus nu de benodigde dll-bestanden. Maar als ik sabcmd.exe open sluitie zich weer gelijk...
Waarom is er geen programma waar alles wat ik wil mee kan doen zonder twintig andere dingen te installeren en te downloaden :'(

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
Verwijderd schreef op 27 augustus 2002 @ 13:38:
Ik heb dus nu de benodigde dll-bestanden. Maar als ik sabcmd.exe open sluitie zich weer gelijk...
Waarom is er geen programma waar alles wat ik wil mee kan doen zonder twintig andere dingen te installeren en te downloaden :'(
Dat komt je geen argumenten mee geeft. Start dus je command-prompt, navigeer naar de dir waar het progje staat (of voeg die dir toe aan je $PATH environment var), en ja dan hangt het van het progje af hoe en welke argumenten je mee kunt geven...ik gebruik geen sablotron :).

Verwijderd

Topicstarter
Sorry, ik ben nu dus een beetje gek aan het worden, maar heb jij het nu over Xalan of Sablotron? En welk progje bedoel je (naam + extensie aub) Ik zie alleen jar files..

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
ja sorry ik had het eerst over xalan maar daarna zag je worstelen met het dubbelklikken op een progje (sabcmd.exe) dat blijkbaar input arguments van de user verwacht dus dacht ik geef die jongen even een tip. Jar files zijn een verzameling Java classes, dat zou je kunnen vergelijken met 'progje'. Je kunt er alleen niet zonder meer op dubbelklikken en dat het dan werkt (soms wel btw).
Misschien moet je es gaan spelen met XMLSpy, prachtige Windows-based IDE voor XML. applicaties

Verwijderd

Topicstarter
Ik zal dat eens proberen. Ik heb nu ook msxml.exe om mn xml te parsen. Dat lukt goed (dat mag ook wel want zoveel stelt dat niet voor...)

Bedankt voor alle tips!
Pagina: 1