O com doparoma ten XML chce byt, Was: Konfigurator - prosim o komentar

pavlp pavel pa-vep@atlas.cz
Středa Únor 6 06:57:19 CET 2008


XML slouží k přenosu informací, jak jsou informace v XML kodovane říká hlavička:
<?xml version="1.0" encoding="utf-8"?>

následuje rootový tág, třebajs:
<root>
na konci XML musí být uzavřen, lomítko před názvem:
</root>
Uvnitř rootu jsou vlastní tágy oddělených sekcí a tágy nesoucí data:
<sekce date="1.1.2008T10:00:00">
  <merici_bod id="1" description="kotel1 na válcovně">100</merici_bod>
  <merici_bod id="2" description="kotel2">200</merici_bod>
  <merici_bod id="3" description="kotel3">5.5</merici_bod>
</sekce>
tág sekce nese atribut (date) času, kdy se měřil,o můžem si dle potřeba přidat další.
tágy nesoucí vlastní naměřená data, nesou atribut (id) identifikátoru měřícího místa, atribut popisu místa a vlastní naměřenou fodnotu, ta by taky mohla být v atributu:
<merici_bod id="1" description="kotel1 na válcovně" value="100"/> všimněte si další možnosti uzavření tágu.
Kompletní XML pak může vypadat např. takto:

<?xml version="1.0" encoding="utf-8"?>
<root>
  <sekce date="1.1.2008T10:00:00">
    <merici_bod id="1" description="kotel1 na válcovně">
      100
    </merici_bod>
    <merici_bod id="2" description="kotel2">
      200
    </merici_bod>
    <merici_bod id="3" description="kotel3">
      5.5
    </merici_bod>
  </sekce>
  <sekce date="1.1.2008T13:00:00">
    <merici_bod id="1" description="kotel1 na válcovně">
      110
    </merici_bod>
    <merici_bod id="2" description="kotel2">
      220
    </merici_bod>
    <merici_bod id="3" description="kotel3">
      6.5
    </merici_bod>
  </sekce>
</root>

Je zřejmě že náš text (vše co je mezi apostrofy a tágy) nesmí obsahovat tzn entity, jako <> & a další , proto do našeho textu musíme zadat zástupné znaky , např < &lt;  > &gt;
Taky naše texty musí být kodovany dle hlavičky. Pokud budeme XML někomu distribuovat je dobrým zvykem mu nejprve dodat šablonu XSD , která říká co vše XML může obsahovat. Pokud by třeba naše měření probíhalo na základě podmínky může přijít sekce v XML :
  <sekce date="1.1.2008T10:00:00">
    <merici_bod id="1" description="kotel1 na válcovně">100</merici_bod>
    <merici_bod id="3" description="kotel3">5.5</merici_bod>
  </sekce>
chybí zde merici_bod 2 a mohli bychom nabýt dojmu, že to XML neobsahuje a nepočítali bychom s ním, což by vedlo k chybě.
Schéma našeho XML vypadá takto

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="root">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" name="sekce">
          <xs:complexType>
            <xs:sequence>
              <xs:element maxOccurs="unbounded" name="merici_bod">
                <xs:complexType>
                  <xs:simpleContent>
                    <xs:extension base="xs:decimal">
                      <xs:attribute name="id" type="xs:unsignedByte" use="required" />
                      <xs:attribute name="description" type="xs:string" use="required" />
                    </xs:extension>
                  </xs:simpleContent>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="date" type="xs:string" use="required" />
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

Pokud chcete pracovat s XML, doporučuji přejít na .NET technologii, nejlépe C#   .


-------------------------------------------------------
vývoj software   http://visualprog.cz


>---------------------------------------------------------
>Od: Jan Waclawek
>Přijato: 6.2.2008 5:53:58
>Předmět: O com doparoma ten XML chce byt, Was: Konfigurator - prosim o komentar
>
>Mno, ta 10minutovka je o icom - nie, dakujem, nepotrebujem vediet preco je ZSSR taka oblubena krajina :-) Tak som si vytlacil plnu specifikaciu na citanie do postele, a ano, zaspal som... Fakt, dost ubohy dej, aj ked postav je tam hodne... :-P
>
>
>
>Dojmy su teda zmiesane, a mam za hrst doplnujucich otazok:
>
>
>
>- parser, to je kus zdrojaku (alebo lib alebo cokolvek), co si vlepim do svojho programu, a nejako mi predzuje xml pri nacitani, je to tak?
>
>
>
>- parser je aj free?
>
>
>
>- a najde sa aj pre Pascal?
>
>
>
>- co je vlastne vstupom, okrem samotneho xml suboru? Aj ten neprivetivy "popisovaci" subor?
>
>
>
>- a co je vlastne vystupom? 
>
>
>
>- validator, to je osobitny program?
>
>
>
>- je neodpustitelnym hriechom ignorovat existenciu hotovych parserov (ako aj standardu vselico vyzadujuceho a predpisujuceho a povolujuceho atd.) a napisat si vlastny, hruby a nepresny a nerafinovany parser, v ramci nechute sa nieco nove ucit a skusat?
>
>
>
>Je jasne ze si vacsinu odpovedi mozem vyguglit, ale ak to nezaberie vela casu, bol by som vdacny tym co uz maju chodnicky vyslapane, za komentar...
>
>
>
>Dakujem
>
>
>
>wek
>
>
>
>
>
>PS. Este stale mi nie je jasne ako na ten medzisubor, zeby aj ten XML???
>
>
>
>_______________________________________________
>
>HW-list mailing list  -  sponsored by www.HW.cz
>
>Hw-list@list.hw.cz
>
>http://list.hw.cz/mailman/listinfo/hw-list
>
>
>
>

------------------------------------------

http://search.atlas.cz/


Další informace o konferenci Hw-list