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

Preview:

Citation preview

1

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

Лекц №1 XML

2

XML

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

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

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

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

3

XML

• person.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

5

XML бүтэц

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

<year> 1935 </ year>

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

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

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

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

6

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

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

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

<email>oderech@tx.technion.ac.il</email> </person>

элемент

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

атрибут

текст

7

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

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

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

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

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

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

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

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

XML HTML

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

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

XML syntax

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

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

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

9

10

XML structure

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

<person><name>Dave Elliman</name><tel> 0115776223 </tel><email> dge@cs.nott.ac.uk </email>

</person>

11

XML structure (cont.)

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

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

12

XML

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

person

name emailtel tel

Malcolm Atchison

(215) 898 4321

(215) 898 4321

mp@dcs.gla.ac.sc

XML• bookstore –

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

category=“cooking”> -

category ?

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

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

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

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

Everyday Italian?

13

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

15

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

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

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

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

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

16

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

• Олон хүмүүс XML-ийг хэрэглэдэг.• Энгийн текст файл – Файлыг та өөрөө үүсгэж, засах боломжтой.• Өгөгдлийн тодорхойлолт – 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

18

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

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

19

Java XML Parsers

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

• SAX– Sun JAXP– SAXON

• JDOM

...

20

Java SAX parser

• Event based XML parser

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

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

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

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

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{......}

22

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

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

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

Total count: 3

Names:

Person 1: Lars

Person 2: Lars

Person 3: Landerman

Lars count: 2

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

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

23

Даалгавар

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