Byl zveřejněn průběžně aktualizovaný program konference OpenAlt 2026 o otevřeném softwaru a datech, IT bezpečnosti, DIY a IoT. Konference proběhne o víkendu 7. a 8. listopadu v prostorách FIT VUT v Brně. Vstup je zdarma.
Po 9 týdnech vývoje od vydání Linuxu 7.2 oznámil Linus Torvalds vydání Linuxu 7.3. Podrobný přehled novinek a vylepšení na Linux Kernel Newbies nebo LWN.net: první a druhá polovina začleňovacího okna.
Memtest86+ (Wikipedie), svobodný nástroj pro kontrolu operační paměti, byl vydán ve verzi 9.00. S podporou architektury AArch64 (ARM64).
Společnost Fairphone stojící za stejnojmennými mobilními telefony představila (pdf) bezdrátová špuntová sluchátka Fairbuds 2. Opravitelná, s vyměnitelnými bateriemi a tříletou zárukou. Cena 119 eur.
O víkendu 17. a 18. října lze na brněnském výstavišti navštívit s jednou vstupenkou dvě akce: Maker Faire Brno, festival inovací, kreativity a kutilství, a GameDev Connect, akci určenou pro všechny současné a hlavně budoucí herní vývojáře.
Canonical vydal (email) Ubuntu 26.10 Stonking Stingray. Přehled novinek v poznámkách k vydání. Jedná se o průběžné vydání s podporou 9 měsíců, tj. do července 2027.
České Radiokomunikace (CRA) ve čtvrtek odstřelily rozhlasový vysílač Liblice B, dosud nejvyšší stavbu v Česku. O demolici dvou 355 metrů vysokých stožárů rozhodly z důvodu jejich nevyužívání, už v úterý přitom zhasly a demontovaly jejich osvětlení.
Řešení dotazu:
<?xml version="1.0"?> <data> <a> <item>Alpha</item> <item>Bravo</item> <item>Charlie</item> </a> <b> <item>Zulu</item> </b> </data>Pak následující dorovná buňky pomlčkama.
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes" />
<xsl:template match="/">
<html>
<head><title>Title</title></head>
<body>
<xsl:apply-templates select="data" />
</body>
</html>
</xsl:template>
<xsl:template match="data">
<xsl:variable name="THIS" select="." />
<xsl:variable name="BOTH" select="a/item | b/item" />
<table border="1">
<xsl:for-each select="$BOTH[(position() <= count($THIS/a/item)) or (position() <= count($THIS/b/item))]">
<xsl:variable name="INDEX" select="position()" />
<tr>
<td>
<xsl:value-of select="$INDEX" />
</td>
<td>
<xsl:choose>
<xsl:when test="$INDEX <= count($THIS/a/item)">
<xsl:apply-templates select="$THIS/a/item[$INDEX]" />
</xsl:when>
<xsl:otherwise>
-
</xsl:otherwise>
</xsl:choose>
</td>
<td>
<xsl:choose>
<xsl:when test="$INDEX <= count($THIS/b/item)">
<xsl:apply-templates select="$THIS/b/item[$INDEX]" />
</xsl:when>
<xsl:otherwise>
-
</xsl:otherwise>
</xsl:choose>
</td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
<xsl:template match="item">
<b><xsl:value-of select="." /></b>
</xsl:template>
</xsl:stylesheet>
Trik je v tom, že se vyberou oba dva uzly pro for-each iteraci a v každém průchodu se kontroluje, jestli tam takový prvek je.
Ale nevím, jak to bude rychlé pro větší data.
Tiskni
Sdílej: