Společnost PINE64 stojící za telefony PinePhone a PinePhone Pro nebo notebooky Pinebook a Pinebook Pro publikovala na svém blogu březnový souhrn novinek (YouTube). Jednodeskový RISC-V počítač Star64 s SoC StarFive JH-7110 bude v prodeji od 4. dubna.
Open source modální textový editor Helix, inspirovaný editory Vim, Neovim či Kakoune, byl vydán ve verzi 23.03. Přehled novinek v oznámení na webu a v CHANGELOGu na GitHubu.
Je tu opět apríl. Společnost Razer představila holící myš Razer Razer. Vědci z CERNu navrhují 25hodinový den. Společnost Elgato představila kolekci Elgato Home. Společnost Nothing Beer (5.1%). Další aprílové novinky například na April Fools' Day On The Web.
Před 25 lety byl uvolněn zdrojový kód balíku aplikací Netscape Communicator jako open source (např. dobová zpráva CNET), z čehož vzešel projekt Mozilla – ten si výročí nyní připomíná.
Na GOG.com běží Spring Sale. Při té příležitosti lze získat zdarma počítačovou hru Deep Sky Derelicts.
Sound Open Firmware, projekt Linux Foundation, open source audio DSP firmware a SDK, byl vydán ve verzi 2.5.0. Přináší podporu platformy Mediatek mt8188 nebo nový audio modul ARIA (Automatic Regressive Input Amplifier Module).
Byla vydána nová verze 5.8 programovacího jazyka Swift (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu. Ke stažení budou oficiální binární balíčky pro Ubuntu 18.04, Ubuntu 20.04, Ubuntu 22.04, CentOS 7, Amazon Linux 2 a Red Hat Universal Base Image 9.
Byla vydána nová verze 1.77 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.77 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána beta verze Ubuntu 23.04 s kódovým názvem Lunar Lobster. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 23.04 mělo vyjít 20. dubna 2023.
Linuxová distribuce OpenMandriva byla vydána ve verzi ROME 23.03. Název ROME říká, že se jedná se o průběžně aktualizovanou (rolling) edici. Stabilní edice nese název Rock, aktuálně OpenMandriva Lx 4.3 Dysprosium.
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: