23
Өгөгдлийн бүтэц Лекц №1 XML 1

Xml өгөгдлийн бүтэц

  • Upload
    gvndee

  • View
    585

  • Download
    7

Embed Size (px)

Citation preview

Page 1: Xml өгөгдлийн бүтэц

1

Өгөгдлийн бүтэц

Лекц №1 XML

Page 2: Xml өгөгдлийн бүтэц

2

XML

• eXtensible Markup Language• Бүтэцлэгдсэн мэдээллийг тодорхойлоход

зориулагдсан markup language• Standard Generalized Markup Language

(SGML)-д суурилсан• Хувилбар 1.0-ийг анх 1998 онд WWW

консорциумаас танилцуулсан.• Програм/Вэбд өгөгдөл дамжуулах гүүр

Page 3: Xml өгөгдлийн бүтэц

3

XML

• person.xml

Page 4: Xml өгөгдлийн бүтэц

4

2. What is XML?

XML is primarily for descriptive markup.

presentational Mobile phones: Nokia 8890 Ericsson A3618

procedural <document> <newPage style="box"/> <bold>Mobile phones:</bold> <list> <newItem/><italic>Nokia 8890</italic> <newItem/><italic>Ericsson A3618</italic> </list></document>

descriptive (the previous example)

Classes of text markup

Page 5: Xml өгөгдлийн бүтэц

5

XML бүтэц

• XML нь тааг болон текстүүдээс бүрдэнэ. <title> The Big Sleep </title>

<year> 1935 </ year>

• Нээх, хаах таагууд хамт ашиглагдана. <date> ...</date>

• Таагуудын нээж, хаасан дараалал зөв байх ёстой.

<date> <day> ... </day> ... </date> --- Зөв

<date> <day> ... </date>... </day> --- Буруу

Page 6: Xml өгөгдлийн бүтэц

6

XML документын бүтэц

<person type=“Friend”> <name>Ortal Derech</name>

<tel>04-8732122</tel> <tel>054-646888</tel>

<email>[email protected]</email> </person>

элемент

элемент, дэд элемент

атрибут

текст

Page 7: Xml өгөгдлийн бүтэц

7

• Өргөтгөж болохуйц таагууд

• Агуулгад чиглэсэн• Стандарт өгөгдлийн дэд

бүтэц• Олон гаралтын

хэлбэрийг зөвшөөрдөг

• Тогтсон таагуудтай• Мэдээллийг дүрсэлж,

харуулахад зориулагдсан

• Өгөгдлийг шалгах боломжгүй

• Нэг төрлийн харагдах байдал

XML HTML

XML, HTML-ийн ялгаа

Page 8: Xml өгөгдлийн бүтэц

XML– Өгөгдлийг хадгалах, дамжуулахад зориулагдсан

Иймээс XML өгөгдөлтэй ажиллахдаа түүнийг илгээх, унших, дүрсэлж харуулах програмын хэсгийг бичих шаардлагатай болно.

– Энгийн текст файл• data.xml

– Ямар ч software, hardware, application хооронд ашиглагдах боломжтой.

– HTML-тэй төстэй тааг ашигладаг+ HTML таагууд нь дэлгэцэнд мэдээлэл дүрслэдэг

<b>BOLD TEXT</b> - BOLD TEXT- XML таагууд нь мэдээлэл хадгалах, дамжуулах, бүтэцлэхэд зориулагдсан- <book>Java Programming Handbook </book>

+ НTML таагууд нь урьдчилан тодорхойлогдсон байдаг.

<a>, <img>, <table>

- XML таагуудыг өөрсдийн хүссэн нэрээр нэрлэж ашиглах боломжтой.

<custom>, <…>

8

Page 9: Xml өгөгдлийн бүтэц

XML syntax

• Tааг(<name>) хэлбэрээр бичигдэнэ.

• <!– Тайлбар бичих -->• Ямар ч xml document нь well formed xml байх ёстой.• Well formed xml файл нь:

– Үндэс/root/ элементтэй байх ёстой.– Бүх нээгдсэн тааг хаагдсан байх ёстой.– Case sensitive / <Book>, <book> ялгаатай/ – Таагууд нээгдсэн дарааллаараа хаагдсан байх ёстой.– Таагийн атрибутуудын утгыг хашилтанд /” ”/ хийнэ.

9

Page 10: Xml өгөгдлийн бүтэц

10

XML structure

• Тааг дотор тааг бичиж олон бүтцийг илэрхийлж болдог.

<person><name>Dave Elliman</name><tel> 0115776223 </tel><email> [email protected] </email>

</person>

Page 11: Xml өгөгдлийн бүтэц

11

XML structure (cont.)

Нэг таагийг олон дахин давтан бичиж болно.

<addresses> <person> ... </person> <person> ... </person> <person> ... </person> ...</addresses>

Page 12: Xml өгөгдлийн бүтэц

12

XML

• XML-г зурж, дүрсэлбэл мод өгөгдлийн бүтэцтэй төстэй.

person

name emailtel tel

Malcolm Atchison

(215) 898 4321

(215) 898 4321

[email protected]

Page 13: Xml өгөгдлийн бүтэц

XML• bookstore –

Үндэс элемент• <bookstore

category=“cooking”> -

category ?

bookstore элементийн атрибут

• bookstore –т хэдэн хүү зангилаа байна вэ?

• book-т хэдэн хүү зангилаа байна вэ?

• <title lang=“eng”>Everyday Italian</title>

Everyday Italian?

13

Page 14: Xml өгөгдлийн бүтэц

14

1. Why XML evolved

1986 SGML (Standard Generalized Markup Language) for defining and representing structured documents

1960-1980 Infrastructure for the Internet

1991 WWW and HTML introduced for the Internet

1991 Business adopts the WWW technology; huge expansion in the use of the Internet

Urgent need for a new, common data format for the Internet

1995 New kinds of businesses evolve, based on the connectivity of people all over the world and connectivity of applications built by various software providers

Page 15: Xml өгөгдлийн бүтэц

15

XML яагаад үүссэн бэ?• Хэрэгцээ:

– Ойлгоход хялбар энгийн дүрэмтэй байх– Интернет нөөц, тэдгээрийн харилцааг

дүрслэх чадвартай байх– Өөр өөр төрлийн бизнесийн салбаруудын

мэдээллийг бүтэцлэх боломжтой байх– Компьютерт зориулагдсан, формаль

бүтэцтэй, хүнд зориулагдсан тодорхой, ойлгоход хялбар бүтэцтэй байх

Page 16: Xml өгөгдлийн бүтэц

16

XML яагаад чухал вэ?

• Олон хүмүүс XML-ийг хэрэглэдэг.• Энгийн текст файл – Файлыг та өөрөө үүсгэж, засах боломжтой.• Өгөгдлийн тодорхойлолт – XML нь танд ямар төрлийн мэдээлэл

байгааг хэлж өгнө. Хэрхэн харагдуулахыг биш.• Харагдах байдлаас кодыг салгасан байдал• Шаталсан бүтэцтэй, хялбархан боловсруулагдах боломжтой.

Page 17: Xml өгөгдлийн бүтэц

17

Нэмж судлах сэдвүүд

XPath• XML Path Language. XML файлаас өгөгдөл

өгөгдөл хайхад хэрэглэгддэг хэл.

<?xml version="1.0" encoding="ISO-8859-1"?>

<bookstore> <book> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book></bookstore>

Path Expression Result

bookstore Selects all the child nodes of the bookstore element

/bookstore Selects the root element bookstoreNote: If the path starts with a slash ( / ) it always represents an absolute path to an element!

bookstore/book Selects all book elements that are children of bookstore

//book Selects all book elements no matter where they are in the document

bookstore//book Selects all book elements that are descendant of the bookstore element, no matter where they are under the bookstore element

Page 18: Xml өгөгдлийн бүтэц

18

Нэмж судлах сэдвүүд

• XQuery – XML-д зориулагдсан query language

Page 19: Xml өгөгдлийн бүтэц

19

Java XML Parsers

• DOM– Sun JAXP– IBM XML4J– Apache Xerces– Resin (Caucho)– DXP (DataChannel)

• SAX– Sun JAXP– SAXON

• JDOM

...

Page 20: Xml өгөгдлийн бүтэц

20

Java SAX parser

• Event based XML parser

• SAXParser классын обьектыг үүсгэж, parse() функцыг ашиглана.

• parse(String uri, DefaultHandler handler)– uri – XML файлын хаяг– handler – XML-н элементүүдийг parse хийх үед барьж авах

обьект• startElement, endElement, character гэсэн функцуудээс хэрэгтэй

функцээ дахин тодорхойлох хэрэгтэй.

Page 21: Xml өгөгдлийн бүтэц

21

DefaultHandler классын функцууд

• /* * Ямар нэг элементээр parse хийж эхлэхэд дуудагдана.

* */ public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException{......}

/* * Тухайн уншигдаж байгаа элементийн хаах таагт хүрэхэд дуудагдах функц. */ public void endElement(String uri, String localName, String qName) throws SAXException{......}

/* * Элементийн нээх хаах таагийн хоорондох утгатай ажиллах функц*/public void characters(char ch[], int start, int length) throws SAXException{......}

Page 22: Xml өгөгдлийн бүтэц

22

Гүйцэтгэх даалгавар

• person.xml файлыг уншиж дараах байдлаар хэвлэдэг болгох

------------------------------------------Person info

Total count: 3

Names:

Person 1: Lars

Person 2: Lars

Person 3: Landerman

Lars count: 2

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

Хэвлэж харуулахад ашиглагдах статик текстүүдийг ногооноор тэмдэглэлээ.

Page 23: Xml өгөгдлийн бүтэц

23

Даалгавар

• Ажилтны мэдээлэл бүртгэх form хийж xml-д хадгал.