abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

    dnes 13:11 | IT novinky

    Nejvyšší kontrolní úřad (NKÚ) vydal zprávu o finančním řízení prostředků EU v ČR (pdf). Dočíst se lze například, že přes 8 miliard korun na digitální vzdělávání nepřineslo naplnění žádného z prioritních cílů programu. Peněžní prostředky z fondů EU sice byly vynaloženy formálně v souladu s právními předpisy, avšak s minimálním nebo neprokazatelným dopadem na proklamované cíle ve vzdělávání. Na Metodickém portálu RVP.CZ bylo ke konci

    … více »
    Ladislav Hagara | Komentářů: 6
    dnes 11:33 | Nová verze

    Emulátor terminálu kitty (Wikipedie, GitHub) byl vydán v nové verzi 0.50.

    Ladislav Hagara | Komentářů: 0
    dnes 09:00 | Bezpečnostní upozornění

    Vývojáři C-Kermit oznámili několik dlouhodobě přítomných zranitelností. Patří mezi ně buffer overflow v Telnet/FTP klientovi a command injection v Kermit serveru. Dotčené verze: C-Kermit 11.0.514 a starší. Fix: 11.1.515 [oss-security].

    vencour | Komentářů: 0
    dnes 02:44 | Nová verze

    Byla vydána nová verze 3.2.8 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 16:55 | Nová verze

    Projekt openSUSE dnes, 3. listopadu 2026, oficiálně vydal openSUSE Leap 16.1, novou verzi své stabilní linuxové distribuce. Novinkou je také Immutable Mode, který nahrazuje dosavadní samostatnou distribuci openSUSE Leap Micro. Podrobnosti o novém vydání najdete v oficiálním oznámení nebo v českém překladu oznámení. Instalační obrazy jsou již dostupné na get.opensuse.org. Vydání společně oslavíme v pátek ve virtuálním baru a na … více »

    lkocman | Komentářů: 0
    včera 16:00 | Nová verze

    Bylo oznámeno vydání Fedora Linuxu 45. Ve finální verzi vychází šest oficiálních edic: Fedora Workstation a Fedora KDE Plasma Desktop pro desktopové, Fedora Server pro serverové, Fedora Cloud pro cloudové nasazení, Fedora CoreOS pro ty, kteří preferují neměnné systémy a Fedora IoT pro internet věcí. Vedle nich jsou k dispozici také další atomické desktopy, spiny a laby. Podrobný přehled novinek v samostatných článcích na stránkách

    … více »
    Ladislav Hagara | Komentářů: 1
    včera 15:44 | Zajímavý článek

    Vědci z MIT CSAIL představili koncept 'weight-space programming' a názorně předvedli, že pokročilé jazykové modely SI dokážou přímo číst a upravovat váhy neuronových sítí. Studie ukazuje, že modely nejen dokážou identifikovat účel sítí z pouhého nahlédnutí do jejich číselných vah, ale mohou i cíleně opravovat chyby a nedostatky, například GPT-6 Astra se změnou pouhých 0,016% vah open-weight modelu Qwen3.5-0.8B podařilo odstranit

    … více »
    👻 | Komentářů: 5
    včera 14:00 | Komunita

    Organizátoři komunitního setkání nejen českých a slovenských správců sítí CSNOG 2027, které se uskuteční 20. a 21. ledna na půdě zlínské univerzity Tomáše Bati, oznámili prodloužení termínu pro zasílání abstraktů do programu akce. Zájemci se mohou hlásit prostřednictvím webu setkání do úterý 10. listopadu. Programová komise uvítá příspěvky věnované nejen správě sítí, ale také legislativě a regulaci nebo síťařským aktivitám studentů a pedagogů.

    VSladek | Komentářů: 0
    včera 13:55 | IT novinky

    Bylo spuštěno předobjednávání zařízení Flipper One s Linuxem. Za 20 dolarů si lze koupit kupón a zajistit si tím speciální cenu 379 dolarů po spuštění kampaně na Kickstarteru.

    Ladislav Hagara | Komentářů: 0
    včera 12:44 | Nová verze

    Tor Browser, tj. fork webového prohlížeče Mozilla Firefox s integrovaným klientem sítě Tor přednastavený tak, aby přes tuto síť bezpečně komunikoval, byl vydán ve verzi 16.0. Postaven je na Firefoxu ESR 153. Vydána byla také nová verze 7.16 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. S Tor Browserem 16.0.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2973 hlasů
     Komentářů: 34, poslední 26.10. 08:24
    Rozcestník

    Dotaz: XML scheme

    16.10.2008 15:20 Tomáš Skočdopole | skóre: 13
    XML scheme
    Přečteno: 903×
    Ahoj, chtel bych se zeptat, zda je korektni v navrhu XML struktury pouzit stejny nazev elementu, který bude mit jiné vlastnosti v zavislosti na to, kde se nachazi.
    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

    Odpovědi

    default avatar 16.10.2008 15:46 default | skóre: 22 | Madrid
    Rozbalit Rozbalit vše Re: XML scheme
    Jen z hlavy. Budeš to muset doladit:
    <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>
    
    17.10.2008 10:25 Tomáš Skočdopole | skóre: 13
    Rozbalit Rozbalit vše Re: XML scheme
    Diky za reakci,

    no, mozna jsem nesikovne napsal ten ukazkovy (umele vytvoreny) priklad, ale potreboval bych neco jineho. Potreboval bych definovat element <value> vice zpusoby - aby zalezelo, ve ktere pozici se v XML hierarchii nachazi. To znamena aby treba jednou mel element <value> pouze ciselnou hodnotu a bez atributu, podruhe, kdyz se treba nachazi uvnitr <rezistor> tak aby mel atribut unit-prefix a ten atribut aby mohl nabyvat hodnot m R k M. Dale pokud bude treba uvnitr jineho elementu, tak aby mohl mit i podrazene elementy a tak dale.

    Omlouvam se za nepresny popis v prvnim prispevku. Snad uz to bude jasnejsi.

    Dekuji Tomas
    default avatar 17.10.2008 14:28 default | skóre: 22 | Madrid
    Rozbalit Rozbalit vše Re: XML scheme
    Přílohy:
    Tak se na to jukni. XML má tuto strukturu:
    <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
    Všechny tyto elementy v sobě mají element 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 ;-)
    29.10.2008 16:27 Tomáš Skočdopole | skóre: 13
    Rozbalit Rozbalit vše Re: XML scheme
    Ahoj,

    ano to je presne ono jak jsem to potreboval. Dekuji mnohokrat!

    Jinak mohl bych se zeptat, jak v teto sekci:
    <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!
    default avatar 29.10.2008 19:54 default | skóre: 22 | Madrid
    Rozbalit Rozbalit vše Re: XML scheme
    No, tady je to již trošku horší. Bohužel dva stejně pojmenované elementy s různými typy nelze v XML Schema nadefinovat. Buď bych to ošetřil v parseru (tam je to docela jednoduché, protože předtím, než nasmažíš do svých struktur hodnotu pro např. 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á :-/
    17.10.2008 10:59 FooBar
    Rozbalit Rozbalit vše Re: XML scheme
    Ano, je to kosher, ale pozor -- DTD tohle neumi, jsi omezenej pak prave na XSD, RelaxNG apod.

    Jen bych se zeptal, proc omezovat u kondensatoru jen na male hodnoty a u odporu jen na velke hodnoty -- neprijde mi to jako rozumny pristup k validaci dat... kdyz nekdo bude chtit zadat pidiodpor nebo megakondensator, tak ma peska i kdyby to treba davalo v realnym svete smysl... osobne bych proste omezil "unit-prefix" na zname prefixy jednotek a tim to haslo.
    17.10.2008 11:23 Tomáš Skočdopole | skóre: 13
    Rozbalit Rozbalit vše Re: XML scheme
    Aha, to jsem nevedel ze DTD toto neumi... Nastesti jsem hned od zacatku sahl po XML Scheme :) Ale nevim jak tam toto zadefinovat :(

    Jinak jak jsem psal vyse, tento priklad jsem vytvoril umele. Ve zkutecnosti to mam k necemu uplne jinemu.

    Tomas
    17.10.2008 22:24 FooBar
    Rozbalit Rozbalit vše Re: XML scheme
    V tom pripade by mozna bylo pro lepsi odpovedi dat lepsi ukazkovy vzorek dat:)
    29.10.2008 21:25 cronin | skóre: 49
    Rozbalit Rozbalit vše Re: XML scheme
    Bez ohladu na to, ci to mozne je alebo nie je, moja rada je, aby si sa tomu vyhol. Usetris problemy sebe a zmatok pre buducich pouzivatelov. A ako bolo naznacene neschopnostou DTD osetrit tuto situaciu, patrne sa vyhnes aj niektorym technickym problemom. Napr. vo vyssie uvedenom pripade je vhodne value nahradit raz pomocou "resistance", raz pomocou "capacity", alebo pod. I ked, vyssie uvedeny priklad je umelo vykonstruovany, ze ano.

    Založit nové vlákno • Nahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.