[ sabacc @ 17.11.2009. 08:25 ] @
U jednoj ranije postavljenoj temi brisanje više atributa našao sam veliku pomoć, dobio sam code koji mi briše jedan atribut iz xml (probao sam u altova xmlspy i sve funkcioniše) code xsl koji sam dobio izgleda ovako:

Code:

<?xml version="1.0" encoding="UTF-8" ?>

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" indent="yes"/>
    <xsl:template match="/ | @* | node()">
        <xsl:if test="name(.)!='ID' or name(..)!='Osiguranik'">
            <xsl:copy>
                <xsl:apply-templates select="@* | node()"/>
            </xsl:copy>
        </xsl:if>
    </xsl:template>
</xsl:stylesheet>


Moje pitanje je sledeće (probao sam nešto da ukucavam u code, ali mi ne ide) na koji način bih mogao istovremeno da izbrišem više atributa. Jer je xml za mene i dalje špansko selo.

[Ovu poruku je menjao mmix dana 17.11.2009. u 11:53 GMT+1]
[ mmix @ 17.11.2009. 10:55 ] @
Svaki dodati element za izbacivanje je sve komplikvaniji jer ne postoji <xsl:else> pa ne mozes da granas if-then-else strukture, umesto toga bi morao da sve vise komplikujes logicki izraz u xsl:if. Alternativa tome je da umesto jednog xslt imas N tih transformacija od kojih svaka uklanja jedan node/atribut i onda kaskadno propustis XML kroz svaki i na kraju dobijes to sto s ihteo. Malo je sporije ali je i manje podlozno bagovima u logickom izrazu.
[ sabacc @ 17.11.2009. 11:33 ] @
Da to mi je bila rezervna varijanta i funkcionisalo je. Ja sam jednostavno pozivao xsl gde bih izmenio <xsl:if test="name(.)!='ID' or name(..)!='Osiguranik'"> dobio bih xlm pa bih stavio sledeći <xsl:if test="name(.)!='IDUSLUGA' or name(..)!='Usluga'"> koji bi menjao transformisani xlm i tako dalje. (imam 5 atributa za brisanje iz pet različitih tabela iz moje baze).
Da li si se pod N transformacija podrazumeva način na koji sam ja radio ili treba uraditi više xsl fajlova pa ih onda pozivati (da li mogu u jednok koraku svi) ili u postojećem xsl dodati isti code sa promenom za sledeći atribut i onda pozvati taj xsl?