[ 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?
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.