O víkendu probíhá na FIT VUT v Brně konference OpenAlt 2026 o otevřeném softwaru a datech, IT bezpečnosti, DIY a IoT. Na programu je spousta zajímavých přednášek. Pokud jste v Brně, stavte se. Vstup zdarma. Přednášky lze sledovat i online na VHSky a YouTube.
Qualcomm uzavřel víceletou dohodu se SpaceX. Bude dodávat rádiové technologie, baseband jednotky a software pro plánovanou pozemní 5G síť Starlink Mobile. Výstavba má zahrnovat desítky tisíc základnových stanic v USA. Zahájení nasazování se očekává v roce 2027. Qualcomm dohodu označuje za svůj dosud největší 5G kontrakt.
Google rozšířil Cloud Vulnerability Reward Program. Nově nabízí odměnu až 250 tisíc dolarů za vysoce závažné architektonické bezpečnostní chyby označované jako Root-in-Cloud.
V březnu byla oznámena spolupráce GrapheneOS s Motorolou. Nejnovější vlajka Motorola Signature 27 je první Motorola s oficiální podporou GrapheneOS. GrapheneOS (Wikpedie) je varianta Androidu zaměřující se na bezpečnost a soukromí.
Omarchy (Wikipedie) je linuxová distribuce s dlaždicovým správcem oken Hyprland. Založena je na Arch Linuxu. Vydána byla v nové verzi 4.5.0. Nově také pro Apple Silicon, konkrétně pro M1/M2/M3/Neo MacBooky.
Byla vydána nová stabilní verze 8.3 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 156 s bezpečnostními opravami z Chromia 157. Přehled novinek i s náhledy v příspěvku na blogu.
Multimediální přehrávač mpv byl vydán ve verzi 0.42.0. Jde o větší balík změn po bezmála roce. Mimo jiné se lépe integruje s Waylandem nebo rozšiřuje podporu DVD/Blu-ray, např. umožňuje přehrávat rovnou obrazy médií (soubory iso).
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:
resistorcondensatorothervalue, 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: