28. august 2010 - 16:10
Der er
5 kommentarer og 1 løsning
for-each - udelade og ignorere
Det er temmelig længe siden jeg har rodet med XSLT, så jeg er blevet noget rusten. Håber nogen har lyst til at hjælpe. Jeg har en xml-fil som er opbygget omtrent som dette: <root> <main> <indledning></indledning> <kap id="1"> <element1></element1> <element3></element3> </kap> <kap2 id="2"> <element1></element1> <element2></element2> <element3_a></element3_a> </kap2> <kap3 id="3"> <element1></element1> <element2></element2> <element3></element3> </kap3> <kap4 id="4"> <element1></element1> <element2></element2> <element3_a></element3_a> </kap4> ......... </main> </root> Ikke særlig indviklet. men der er nogle forskelle - element3_a - som jeg ønsker at behandle som - element3. Samtidig vil jeg gerne have, at hvis der ingen værdier er i en <kap>, så ignoreres gennemløbet, så der ikke genereres tekst (incl. html koder) Kan sådanne betingelser placeres i en for-each som behandler <kap>'erne ?
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
28. august 2010 - 16:12
#1
Hovsa - en væsentlig ændring De hedder alle <kap> og identificeres alene på id'et.
28. august 2010 - 17:58
#2
Og det er syntax og metoder jeg er interesseret i - ikke koden :)
28. august 2010 - 18:45
#3
Fandt en løsning på det ene spørgsmål: <xsl:value-of select="*[starts-with(name(),'element3')]"/> Så finder jeg nok også selv svaret på det sidste!
03. september 2010 - 18:43
#4
psuedo til at løse : <foreach select="//Kap[element]"> <foreach select="node()[contains(name(), 'element')]"> //kode </foreach> </foreach>
03. september 2010 - 18:48
#5
//Kap[count(*) > 0] /J
11. september 2010 - 14:29
#6
Tak for det jokkejensen. Er desværre nødt til at prioritere opgaven lidt væk. Hvis du er interesseret i points, så opretter jeg gerne et spm. :)
Kurser inden for grundlæggende programmering