Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.
Před 25 lety zaplavil celý svět virus ILOVEYOU. Virus se šířil e-mailem, jenž nesl přílohu s názvem I Love You. Příjemci, zvědavému, kdo se do něj zamiloval, pak program spuštěný otevřením přílohy načetl z adresáře e-mailové adresy a na ně pak „milostný vzkaz“ poslal dál. Škody vznikaly jak zahlcením e-mailových serverů, tak i druhou činností viru, kterou bylo přemazání souborů uložených v napadeném počítači.
Byla vydána nová major verze 5.0.0 svobodného multiplatformního nástroje BleachBit (GitHub, Wikipedie) určeného především k efektivnímu čištění disku od nepotřebných souborů.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za duben (YouTube).
Provozovatel čínské sociální sítě TikTok dostal v Evropské unii pokutu 530 milionů eur (13,2 miliardy Kč) za nedostatky při ochraně osobních údajů. Ve svém oznámení to dnes uvedla irská Komise pro ochranu údajů (DPC), která jedná jménem EU. Zároveň TikToku nařídila, že pokud správu dat neuvede do šesti měsíců do souladu s požadavky, musí přestat posílat data o unijních uživatelích do Číny. TikTok uvedl, že se proti rozhodnutí odvolá.
Společnost JetBrains uvolnila Mellum, tj. svůj velký jazykový model (LLM) pro vývojáře, jako open source. Mellum podporuje programovací jazyky Java, Kotlin, Python, Go, PHP, C, C++, C#, JavaScript, TypeScript, CSS, HTML, Rust a Ruby.
Vývojáři Kali Linuxu upozorňují na nový klíč pro podepisování balíčků. K původnímu klíči ztratili přístup.
V březnu loňského roku přestal být Redis svobodný. Společnost Redis Labs jej přelicencovala z licence BSD na nesvobodné licence Redis Source Available License (RSALv2) a Server Side Public License (SSPLv1). Hned o pár dní později vznikly svobodné forky Redisu s názvy Valkey a Redict. Dnes bylo oznámeno, že Redis je opět svobodný. S nejnovější verzí 8 je k dispozici také pod licencí AGPLv3.
Oficiální ceny Raspberry Pi Compute Modulů 4 klesly o 5 dolarů (4 GB varianty), respektive o 10 dolarů (8 GB varianty).
Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.
Priklad: <resistor> … <value unit-prefix="k">10</value> … <resistor> <condensator> … <value unit-prefix="u">10</value> … </condensator>Zde konkretne element <value>, jednou muze jeho atribut unit-prefix nabyvat hodnot: m|R|k|M. Kdezto když je to u kondenzatoru, tak muze tento atribut nabyvat hodnot: m|u|n|p. Ted tvorim schema dle XML Schema (http://www.w3.org/2001/XMLSchema) a nevim jak mam definovat element value tak aby se rozlišilo, kde se element nachazi. Dekuji predem za pomoc! Tomas
<xsd:complexType name="rootType"> <xsd:sequence> <xsd:element name="resistor" type="resistorType" /> <xsd:element name="condensator" type="condensatorType" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="resistorType"> <xsd:sequence> <xsd:element name="value" type="valueType" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="condensatorType"> <xsd:sequence> <xsd:element name="value" type="valueType" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="valueType"> <xsd:simpleContent> <xsd:extension base="xsd:integer" use="required"> <xsd:attribute name="unit-prefix" type="unitsType" use="required" /> </xsd:extendsion> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType="unitsType"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="k" /> <xsd:enumeration value="M" /> <xsd:enumeration value="G" /> <xsd:enumeration value="T" /> <xsd:enumeration value="P" /> <xsd:enumeration value="E" /> <xsd:enumeration value="Y" /> <xsd:enumeration value="m" /> <xsd:enumeration value="u" /> <xsd:enumeration value="n" /> <xsd:enumeration value="p" /> <xsd:enumeration value="f" /> <xsd:enumeration value="a" /> <xsd:enumeration value="y" /> <xsd:enumeration value="d" /> <xsd:enumeration value="dk" /> <xsd:enumeration value="h" /> </xsd:restriction> </xsd:simpleType>
<ns:root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns="http://hadrabap.googlepages.com/projects/xmlutilities/example.xsd" xsi:schemaLocation="http://hadrabap.googlepages.com/projects/xmlutilities/example.xsd file:/Users/petr/NetBeansProjects/xmlutilities/test/global/sandbox/xmlutilities/example.xsd"> <ns:resistor> <ns:value unit-prefix="k">12</ns:value> </ns:resistor> <ns:condensator> <ns:value> 12 </ns:value> </ns:condensator> <ns:other> <ns:value unit-prefix="xm">14</ns:value> </ns:other> <ns:resistor> <ns:value unit-prefix="M">13</ns:value> </ns:resistor> </ns:root>Kořenem je element root. V něm můžou být tyto elementy:
resistor
condensator
other
value
, který může obsahovat jen číselnou hodnotu (desetinné číslo). Element value
v elementu resistor
žere navíc atribut unit-prefix
, který může nabývat hodnot m
, R
, k
a M
. Element value
v elementu condensator
nemá žádný atribut. Element value
v elementu other
má též atribut unit-prefix
, ale s hodnotami xm
, xR
, xk
a xM
.
Schéma vypadá takto:
<?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://hadrabap.googlepages.com/projects/xmlutilities/example.xsd" targetNamespace="http://hadrabap.googlepages.com/projects/xmlutilities/example.xsd" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xsd:element name="root" type="rootType" /> <xsd:complexType name="rootType"> <xsd:sequence minOccurs="0" maxOccurs="unbounded"> <xsd:choice> <xsd:element name="resistor" type="resistorType" /> <xsd:element name="condensator" type="condensatorType" /> <xsd:element name="other" type="otherType" /> </xsd:choice> </xsd:sequence> </xsd:complexType> <xsd:complexType name="resistorType"> <xsd:sequence> <xsd:element name="value"> <xsd:complexType> <xsd:simpleContent> <xsd:extension base="xsd:decimal"> <xsd:attribute name="unit-prefix" type="unitsType" /> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> <xsd:complexType name="condensatorType"> <xsd:sequence> <xsd:element name="value"> <xsd:complexType> <xsd:simpleContent> <xsd:extension base="xsd:decimal" /> </xsd:simpleContent> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> <xsd:complexType name="otherType"> <xsd:sequence> <xsd:element name="value"> <xsd:complexType> <xsd:simpleContent> <xsd:extension base="xsd:decimal"> <xsd:attribute name="unit-prefix" type="units2Type" /> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> <xsd:simpleType name="unitsType"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="m" /> <xsd:enumeration value="R" /> <xsd:enumeration value="k" /> <xsd:enumeration value="M" /> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="units2Type"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="xm" /> <xsd:enumeration value="xR" /> <xsd:enumeration value="xk" /> <xsd:enumeration value="xM" /> </xsd:restriction> </xsd:simpleType> </xsd:schema>Když si stáhneš XMLUtilities a do adresáře xmlutilities/test/global/sandbox/xmlutilities/ nahraješ soubory z přílohy, získáš další TestCase, pomocí kterého si můžeš hrát s tím schémátkem. Je to projekt NetBeans 6.1 a všechny knihovny jsou součástí distribuce knihovny. Vyžaduje to JavaSE 5 a vyšší. Tak snad jsem trošku pomohl. Dej vědět, co dál
<location> <coordinate name="x">20</coordinate> <coordinate name="y">50</coordinate> </location>nadefinovat to, aby se prvek coordinate mohl vyskytnout vicenasobne ale abynevznikla duplicitni definice u hodnoty atributu name. Cili nejak takto ne:
<location> <coordinate name="x">20</coordinate> <coordinate name="x">50</coordinate> <coordinate name="y">50</coordinate> </location>Dekuji Vam!
coordinate-x
, tak se podíváš, jestli je nadefinovaná a když jo, tak vyhučíš), nebo změnil strukturu XML (například mít dva elementy <coordinate-x />
a <coordinate-y />
bez toho atributu)…
Bohužel, i XML Schema má své limity a tohle není jediná. Například nejde udělat, že když má atribut někde v nějakym elementu nahoře tuhle hodnotu, tak někde dole musí být hodnota jiná :-/
Tiskni
Sdílej: