Автор Тема: Xml ???  (Прочетена 2964 пъти)

boris2001

  • Напреднали
  • *****
  • Публикации: 68
  • Distribution: тиликс 0.4
    • Профил
Xml ???
« -: May 01, 2011, 21:53 »
От скоро се чудя какво е XML. Да не е нещо като Html?
Като JavaScript? Що за чудо е това ???
Активен

http://www.linux-bg.org
:)boris2001(admin):)

romeo_ninov

  • Напреднали
  • *****
  • Публикации: 2155
    • Профил
Re: Xml ???
« Отговор #1 -: May 01, 2011, 22:05 »
От скоро се чудя какво е XML. Да не е нещо като Html?
Като JavaScript? Що за чудо е това ???
Не, нещо като SGML е. И гугъл не е мръсна дума. Език за описание на информацията. При html се описва как да изглежда, при xml каква е
Активен

0x2B|~0x2B

kiko_99319

  • Напреднали
  • *****
  • Публикации: 41
  • Distribution: openSuse 11.4
  • Window Manager: Gnome 2.32
    • Профил
Re: Xml ???
« Отговор #2 -: May 01, 2011, 22:05 »
http://en.wikipedia.org/wiki/XML
Активен

boris2001

  • Напреднали
  • *****
  • Публикации: 68
  • Distribution: тиликс 0.4
    • Профил
Re: Xml ???
« Отговор #3 -: May 02, 2011, 09:35 »
http://en.wikipedia.org/wiki/XML
Прочетох го, но не разбрах как се работи с него . Разбрах какво е, но как да го използвам ?
Активен

http://www.linux-bg.org
:)boris2001(admin):)

romeo_ninov

  • Напреднали
  • *****
  • Публикации: 2155
    • Профил
Re: Xml ???
« Отговор #4 -: May 02, 2011, 10:23 »
http://en.wikipedia.org/wiki/XML
Прочетох го, но не разбрах как се работи с него . Разбрах какво е, но как да го използвам ?
За какво да го ползваш? И защо точно XML? Повечето програми, които използват файлове за конфигурация ползват нормални текстови файлове
Активен

0x2B|~0x2B

boris2001

  • Напреднали
  • *****
  • Публикации: 68
  • Distribution: тиликс 0.4
    • Профил
Re: Xml ???
« Отговор #5 -: May 02, 2011, 10:35 »
Ами искам да знам какво е това и как се използва.
Активен

http://www.linux-bg.org
:)boris2001(admin):)

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Re: Xml ???
« Отговор #6 -: May 02, 2011, 11:04 »
Ами искам да знам какво е това и как се използва.

Човек, ти си на 9 или 10 години, за какво искаш да си отровиш живота още от малък :)?
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

romeo_ninov

  • Напреднали
  • *****
  • Публикации: 2155
    • Профил
Re: Xml ???
« Отговор #7 -: May 02, 2011, 11:12 »
Ами искам да знам какво е това и как се използва.
този формат се използва за да се пази структурирана информация, например web страница, конфигурация, данни. След това ти трябва парсер, валидатор и т.н. за да можеш да четеш, търси, проверяваш за валидност на структурата
Активен

0x2B|~0x2B

Naka

  • Напреднали
  • *****
  • Публикации: 3469
    • Профил
Re: Xml ???
« Отговор #8 -: May 04, 2011, 23:38 »
Например OpenOffice записва документите в xml формат. Файла който прави xxxxx.odt е нищо повече от zip-нат xml.

ето ти пример: един документ написан на ОО, само с един лист и само с една фраза най-отгоре - 'Hello World'
а ето как той го е кодирал вътрешно.
Код
GeSHi (XML):
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <office:document-content>
  3. <office:body>
  4. <office:text>
  5. <office:forms form:automatic-focus="false" form:apply-design-mode="false"/>
  6. <text:sequence-decls>
  7. <text:sequence-decl text:display-outline-level="0" text:name="Illustration"/>
  8. <text:sequence-decl text:display-outline-level="0" text:name="Table"/>
  9. <text:sequence-decl text:display-outline-level="0" text:name="Text"/>
  10. <text:sequence-decl text:display-outline-level="0" text:name="Drawing"/>
  11. </text:sequence-decls>
  12. <text:p text:style-name="Standard">Hello World</text:p>
  13. <text:p text:style-name="Standard"/>
  14. </office:text>
  15.  
  16. </office:body>
  17. </office:document-content>

е поорязах ти го примера оттук-оттам, за да е по-пригледно. Обаче изобщо не се мъчи да разбереш какво означават таговете. Никой не знае - те и от ОО сигурно не си знаят синтаксиа. Това си е само пример да добиеш представа как изглежда реален xml.




« Последна редакция: May 05, 2011, 12:53 от VladSun »
Активен

Perl - the only language that looks the same before and after encryption.

Naka

  • Напреднали
  • *****
  • Публикации: 3469
    • Профил
Re: Xml ???
« Отговор #9 -: May 05, 2011, 00:12 »
А сетих се още едни пример: Любимата ми игричка - Scorched3d. Всичко се описва в xml файлове - модовете, оръжията ,терена, ботовете.....

например ето ти част от основният мод  дето е описана атомна бомба:

Код
GeSHi (XML):
  1. <accessory>
  2. <name>Nuke</name>
  3. <armslevel>4</armslevel>
  4. <description>A very large explosive projectile weapon.</description>
  5. <icon>nuke.bmp</icon>
  6. <bundlesize>2</bundlesize>
  7. <cost>12000</cost>
  8. <activationsound>shoot/xlarge.wav</activationsound>
  9. <model type='MilkShape'>data/accessories/fatman/fatman.txt</model>
  10. <accessoryaction type='WeaponProjectile'>
  11. <shieldhurtfactor>1.2</shieldhurtfactor>
  12. <projectilemodel type='MilkShape'>data/accessories/fatman/fatman.txt</projectilemodel>
  13. <collisionaction type='WeaponExplosion'>
  14. <hurtamount>1.0</hurtamount>
  15. <deform>down</deform>
  16. <size>18</size>
  17. <createmushroomamount>1.0</createmushroomamount>
  18. <minlife>0.5</minlife>
  19. <maxlife>1.5</maxlife>
  20. <explosionshake>4.0</explosionshake>
  21. <explosiontexture>exp00</explosiontexture>
  22. <explosionsound>explosions/xlarge.wav</explosionsound>
  23. </collisionaction>
  24. </accessoryaction>
  25. </accessory>

А какво означават таговете, опциите на таговете и как се използват са решили самите девелопър-и.
http://www.scorched3d.co.uk/wiki/index.php/Scorched3D_v42


T.e. примерно решаваш да правиш мод. Четеш документацията за синтаксиса, пишеш си XML файловете, а пък енджина на играта ги чете, валидира и интерпретира и съответно изобразява сцената която си описал.

« Последна редакция: May 05, 2011, 12:53 от VladSun »
Активен

Perl - the only language that looks the same before and after encryption.

VladSun

  • Moderator
  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Re: Xml ???
« Отговор #10 -: May 05, 2011, 12:52 »
В XML файл описваш списъци/йерархии от структури за данни както и техните данни. Това е най-простият вариант:

Код
GeSHi (XML):
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Address>
  3.  <Recipient>Mr. Walter C. Brown</Recipient>
  4.  <House>49</House>
  5.  <Street>Featherstone Street</Street>
  6.  <Town>LONDON</Town>
  7.  <PostCode>EC1Y 8SY</PostCode>
  8.  <Country>UK</Country>
  9. </Address>
  10.  

Би могъл в XML файла да укажеш каква "XML schema" ще се използва:

Код
GeSHi (XML):
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  3.  <xs:element name="Address">
  4.    <xs:complexType>
  5.      <xs:sequence>
  6.        <xs:element name="Recipient" type="xs:string" />
  7.        <xs:element name="House" type="xs:string" />
  8.        <xs:element name="Street" type="xs:string" />
  9.        <xs:element name="Town" type="xs:string" />
  10.        <xs:element name="County" type="xs:string" minOccurs="0" />
  11.        <xs:element name="PostCode" type="xs:string" />
  12.        <xs:element name="Country">
  13.          <xs:simpleType>
  14.            <xs:restriction base="xs:string">
  15.              <xs:enumeration value="FR" />
  16.              <xs:enumeration value="DE" />
  17.              <xs:enumeration value="ES" />
  18.              <xs:enumeration value="UK" />
  19.              <xs:enumeration value="US" />
  20.            </xs:restriction>
  21.          </xs:simpleType>
  22.        </xs:element>
  23.      </xs:sequence>
  24.    </xs:complexType>
  25.  </xs:element>
  26. </xs:schema>

В "XML schema"-та се дефинират правила и ограничения за създаване на даден тип XML документ и неговите елементи ( http://en.wikipedia.org/wiki/XML_schema ). Ето някои готови такива: http://en.wikipedia.org/wiki/List_of_XML_schemas

След като си създал XML файл можеш да го "претърсваш" за информация с XPath ( http://en.wikipedia.org/wiki/XPath ), чрез сравнително прост език:
Код
GeSHi (XML):
  1. *[@color]
ще намери всички елементи, които имат атрибут "color". ( http://www.w3schools.com/XPath/xpath_examples.asp ).

За обхождане на "колекции от елементи" можеш да използваш XQuery: http://en.wikipedia.org/wiki/XQuery#Examples

Не на последно място, можеш да трансформираш данните и структурите от този XML в друг структурен формат - прим. ХТМЛ (което е също XML със зададена схема), друг XML, прост текст и т.н.  За трансформацията се използва XSLT - http://en.wikipedia.org/wiki/XSLT .


Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P