Archief - [PROG][XSL] xml formaat converteren

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

DeFlup

Legacy Member
ik zit dus met een bron xml van bijvoorbeeld volgend formaat
Code:
<verzameltag>
<item>
  <Id>123</Id>
  <Naam>Test</Naam>
  <Prijs>35</Prijs>
</item>
</verzameltag>

nu zou 'k dit willen importeren in een ander programma, maar dit is engelstalig dus zou die xml moeten omgezet worden naar

Code:
<verzameltag>
<item>
<Id>123</Id>
<Name>Test</Name>
<Price>35</Price>
</item>
</verzameltag>

ik had gedacht van dit via een xsl geconverteerd door te geven aan dat programma, maar wil dus niet goed lukken.
had volgende code:

Code:
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">

<verzameltag>
<xsl:for-each select="verzameltag/item">
	<item>
		<Id><xsl:value-of select="Id" /></Id>
		<Name><xsl:value-of select="Naam" /></Name>
		<Price><xsl:value-of select="Prijs" /></Price>
	</item>
</xsl:for-each>
</verzameltag>
</xsl:template>
</xsl:stylesheet>

maar natuurlijk geeft hij errors op die xml tags enzo. Weet er iemand een oplossing voor dit probleem? Ik hoop dat ik het een beetje duidelijk heb uitgelegd, indien niet, zeg je het me maar en zal 'k proberen het wat duidelijker uit te leggen :)

T00mpje

Legacy Member
Kunt eens proberen
<xsl:template match="verzameltag/item">

ipv wat gij doet, al ziet het er allemaal correct uit.

Wii

Legacy Member
verander : <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
naar : <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

En werk met templates.

Valk

Legacy Member
Ter info: in grote commerciele projecten wordt dit opgelost mbv een middleware toepassing (Data-mapping). De bron en de ontvanger hebben dan elk een omschrijving van hun formaat (bvb .XSD of .DTD). De middleware leest de bron-XML in en stuurt de verwerkte XML naar de ontvanger. BusinessWorks SmartMapper van TIBCO is een voorbeeld van zo'n middleware applicatie.
Een typisch voorbeeld waarin dat gebruikt wordt is: een webshop en een facturatie systeem, die totaal apart op aparte databases draaien, maar toch realtime informatie in XML (over https bvb) naar elkaar doorsturen.

PS. dit is denk ik geen optie in jouw geval, het was slechts om te laten weten hoe ze dit in de big business oplossen (bvb bij IKEA, Amazon.com, TNT, etc)

T00mpje

Legacy Member
Ook die middleware gaat moeten vertalen tussen die twee schema's (XSD's) en dat gebeurt vermoedleijk toch ook gewoom met XSLT, aangezien het daarvoor gemaakt is?

keybern

Legacy Member
elke taal die op een handige manier reguliere expressies ondersteunt, leent zich tot zo'n klusje. Ik denk typisch aan Perl.
Lijntjes inlezen, en mappen maar!
Dat is een even goede manier indien de vertaling éénmalig moet gebeuren.
Nu, die xsl ziet er me wel handig uit hoor.

Bubbling Zombie

Legacy Member
keybern zei:
elke taal die op een handige manier reguliere expressies ondersteunt, leent zich tot zo'n klusje. Ik denk typisch aan Perl.
Lijntjes inlezen, en mappen maar!
Dat is een even goede manier indien de vertaling éénmalig moet gebeuren.
Nu, die xsl ziet er me wel handig uit hoor.

kinda defeats teh purpose of xml, dontchathink?
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan