Byla vydána (𝕏) nová verze 24.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 24.7 je Thriving Tiger. Přehled novinek v příspěvku na fóru.
Binarly REsearch upozorňuje na bezpečnostní problém PKFail (YouTube) v ekosystému UEFI. Stovky modelů zařízení používají pro Secure Boot testovací Platform Key vygenerovaný American Megatrends International (AMI) a jeho privátní část byla při úniku dat prozrazena. Do milionů zařízení (seznam v pdf) po celém světě tak útočníci mohou do Secure Bootu vložit podepsaný malware. Otestovat firmware si lze na stránce pk.fail. Ukázka PoC na Linuxu na Windows na YouTube.
Mobilní operační systém /e/OS (Wikipedie) založený na Androidu / LineageOS, ale bez aplikací a služeb od Googlu, byl vydán ve verzi 2.2 (Mastodon, 𝕏). Přehled novinek na GitLabu. Vypíchnuta je rodičovská kontrola.
Společnost OpenAI představila vyhledávač SearchGPT propojující OpenAI modely umělé inteligence a informace z webů v reálném čase. Zatím jako prototyp pro vybrané uživatele. Zapsat se lze do pořadníku čekatelů.
Distribuce Linux Mint 22 „Wilma“ byla vydána. Je založená na Ubuntu 24.04 LTS, ale s desktopovým prostředím Cinnamon (aktuálně verze 6.2), příp. MATE nebo Xfce, balíkem aplikací XApp, integrací balíčků Flatpak a dalšími změnami. Více v přehledu novinek a poznámkách k vydání.
Příspěvek na blogu Truffle Security: Kdokoli může přistupovat ke smazaným a privátním repozitářům na GitHubu.
Byla vydána nová verze 14 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v cgitu. Vypíchnout lze podporu rozšíření v Lua.
Byla vydána verze 1.80.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Apple oznámil, že v beta verzi spustil své Apple Maps na webu. Podporován je také webový prohlížeč Chrome. Ne však na Linuxu.
Portál Stack Overflow po roce opět vyzpovídal své uživatele, jedná se především o vývojáře softwaru, a zveřejnil detailní výsledky průzkumu. Průzkumu se letos zúčastnilo více než 65 tisíc vývojářů. Z Česka jich bylo 710. Ze Slovenska 246.
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: