Avatar billede nipont Nybegynder
16. januar 2004 - 12:35 Der er 12 kommentarer og
2 løsninger

XSL sheet der laver et xml sheet om til et andet xml sheet

Det er det XML dokument jeg har .....

<?xml version="1.0" encoding="ISO-8859-9"?>
<?xml-stylesheet type = "text/xsl" href = "xml.xsl"?>
<HerErDitHjem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<Kunde brugernavn="upilg01">
    <Navn>Ulf Pilgaard</Navn>
    <Adresse>Tagensvej 32</Adresse>
    <Postnr>6541</Postnr>
    <Postdistrikt>Bevtoft</Postdistrikt>
    <Tlf>12345678</Tlf>
    <Kodeord>123456</Kodeord>
</Kunde>

og så skal jeg i XSL lave et andet XML, postnr > 6000

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml"/>
Avatar billede nute Nybegynder
16. januar 2004 - 17:15 #1
hvordan ser dit oprindelige xml-format ud ? det du har postet er sådan set lidt ufuldstændig ... er <HerErDitHjem/> rodnoden i dit dokument ?

skal din nye xml være identisk med det gamle format, bare at det skal kun være kunder med postnummer > 6000 ?

/nute
Avatar billede nipont Nybegynder
16. januar 2004 - 17:20 #2
ja undskyld - <HerErDitHjem> er roden
det skal faktisk være identisk - men hvis der kommer flere feks. med postnr 5000 skal det ikke med
Avatar billede nipont Nybegynder
16. januar 2004 - 17:24 #3
<?xml version="1.0" encoding="ISO-8859-9"?>
<?xml-stylesheet type = "text/xsl" href = "xml.xsl"?>
<HerErDitHjem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<Kunde brugernavn="upilg01">
    <Navn>Ulf Pilgaard</Navn>
    <Adresse>Tagensvej 32</Adresse>
    <Postnr>6541</Postnr>
    <Postdistrikt>Bevtoft</Postdistrikt>
    <Tlf>12345678</Tlf>
    <Kodeord>123456</Kodeord>
</Kunde>
<Kunde brugernavn="tmoll01">
        <Navn>Thomas Møller</Navn>
        <Adresse>Tagensvej 34</Adresse>
    <Postnr>4100</Postnr>
    <Postdistrikt>KBH Ø</Postdistrikt>
    <Tlf>98765432</Tlf>
    <Kodeord>123456</Kodeord>
</Kunde>
</HerErDitHjem>
Avatar billede nute Nybegynder
16. januar 2004 - 17:44 #4
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
    <xsl:output media-type="xml"/>
    <xsl:template match="@*|*[ not( child::Postnr &lt; 6000 ) ]">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()[ not( child::Postnr &lt; 6000 ) ]"/>
        </xsl:copy>
    </xsl:template>
</xsl:stylesheet>
Avatar billede nute Nybegynder
16. januar 2004 - 17:45 #5
denne xsl kopierer den oprindelige xml, men kun med poster som er større eller lig 6000

/nute
Avatar billede nipont Nybegynder
16. januar 2004 - 19:08 #6
tak - men kan det gøres så det ser pænere ud???
Avatar billede nute Nybegynder
16. januar 2004 - 19:11 #7
pænere ??? hvad skal være pænere ?
Avatar billede nipont Nybegynder
16. januar 2004 - 19:12 #8
og hvordan laver man et interval 6000-6999
Avatar billede nipont Nybegynder
16. januar 2004 - 19:13 #9
udskriften når man kører xml filen!!!
Avatar billede nute Nybegynder
16. januar 2004 - 19:15 #10
denne xsl giver pænere xml og kun i intervallet 6000 - 6999

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
    <xsl:output media-type="xml" indent="yes"/>
    <xsl:template match="@*|*[ not( child::Postnr &lt; 6000 or child::Postnr &gt; 6999 ) ]">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()[ not( child::Postnr &lt; 6000 or child::Postnr &gt; 6999 ) ]"/>
        </xsl:copy>
    </xsl:template>
</xsl:stylesheet>

/nute
Avatar billede nipont Nybegynder
16. januar 2004 - 19:22 #11
tusind tak og du får lige lidt ekstra for din hjælp
Avatar billede nute Nybegynder
16. januar 2004 - 19:24 #12
det er da ikke nødvendig ;-) de oprindelige antal points er helt fint ...

/nute
Avatar billede nute Nybegynder
16. januar 2004 - 19:25 #13
hovsa ... for sent :-|

men ... ellers tak ... bare hyggelig at kun hjælpe :-)

/nute
Avatar billede nipont Nybegynder
16. januar 2004 - 19:38 #14
det er rart at dele point ud til nogen der gider at hjælpe - og jeg har en del
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