Xử lý truy vấn trên cơ sở dữ liệu tích hợp XML

  • Số trang: 99 |
  • Loại file: PDF |
  • Lượt xem: 15 |
  • Lượt tải: 0
nhattuvisu

Đã đăng 26946 tài liệu

Mô tả:

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ -------- TRỊNH THỊ XUÂN XỬ LÝ TRUY VẤN TRÊN CƠ SỞ DỮ LIỆU TÍCH HỢP XML LUẬN VĂN THẠC SỸ Hà Nội, Năm 2006 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TRỊNH THỊ XUÂN XỬ LÝ TRUY VẤN TRÊN CƠ SỞ DỮ LIỆU TÍCH HỢP XML Chuyên ngành: Công nghệ thông tin Mã số: 1.01.10 LUẬN VĂN THẠC SỸ NGƯỜI HƯỚNG DẪN KHOA HỌC PGS.TS ĐOÀN VĂN BAN Hà Nội, Năm 2006 MỤC LỤC MỘT SỐ TỪ VIẾT TẮT ........................................................................ 4 MỘT SỐ THUẬT NGỮ ......................................................................... 5 MỞ ĐẦU ............................................................................................... 7 CHƢƠNG I: CÁC KHÁI NIỆM CƠ BẢN CỦA XML .......................... 8 I.1. XML là gì:................................................................................... 8 I.2. Cấu trúc của tài liệu XML: ........................................................ 10 I.3. Cấu trúc các thành phần và thuộc tính: ....................................... 11 I.4. Cú pháp tài liệu XML: ................................................................ 11 I.5. Không gian tên: ......................................................................... 11 I.6. Tài liệu XML hợp lệ: ................................................................. 13 I.6.1. Định nghĩa kiểu tài liệu – DTD: ................................................... 14 a. Định nghĩa kiểu tƣ liệu DTD là gì? ....................................... 14 b. Tạo khai báo và định nghĩa kiểu dữ liệu DTD:...................... 14 c. Danh sách các phần tử con: ................................................... 15 d. Trình tự đặt phần tử DTD: .................................................... 15 e. Tạo lập phần tử con ............................................................... 15 f. Định nghĩa DTD ngoại: ......................................................... 16 g. Thực thể và thuộc tính DTD: ................................................ 16 h. Các hạn chế của DTD: .......................................................... 18 I.6.2. Sơ đồ - Schema: .......................................................................... 19 I.6.3. Bảng định kiểu: ........................................................................... 19 I.7. XML đƣợc sử dụng nhƣ thế nào? .............................................. 20 I.8. Các ứng dụng của XML: ........................................................... 21 I.8.1. XML để biểu diễn: ....................................................................... 21 1 I.8.2. XML để truyền thông: ................................................................. 21 I.8.3. XML-RPC: .................................................................................. 22 I.8.4. B2B: ............................................................................................ 22 I.9. Kết luận: .................................................................................... 23 CHƢƠNG II: PHÂN TÍCH XML ........................................................ 24 II.1. Phân tích XML bằng DOM: ...................................................... 25 II.1.1. DOM là gì? ................................................................................ 25 II.1.2. DOM XML: ............................................................................... 26 II.1.3. Các giao diện quan trọng trong DOM: ........................................ 29 II.1.4. Khi nào sử dụng DOM ............................................................... 34 II.2. Phân tích XML bằng SAX: ...................................................... 35 II.2.1. SAX là gì? ................................................................................. 35 II.2.2. Các bƣớc sử dụng SAX: ............................................................. 35 II.2.3.Trƣờng hợp lựa chọn bộ phân tích SAX: ..................................... 35 II.2.4. Phân tích bằng SAX: .................................................................. 36 II.2.5. Các giao diện Callback: .............................................................. 37 II.2.6. Nhận tài liệu: .............................................................................. 38 II.2.7. Nhận các thành phần tài liệu: ...................................................... 38 II.3. Kết luận: ................................................................................... 38 CHƢƠNG III: CHUYỂN ĐỔI GIŨA XML VÀ MÔ HÌNH DỮ LIỆU 40 III.1. Chuyển đổi CSDL quan hệ sang tài liệu XML:[3] ................... 40 III.1.1. Chuyển đổi phẳng – FLAT TRANSLATION ............................ 44 III.1.2. Thuật toán sự chuyển đổi lồng – Nesting based Translation ...... 44 III.1.3. Chuyển đổi sử dụng các phụ thuộc bao hàm: thuật toán CoT .... 48 III.1.4. Chuyển đổi mô hình quan hệ sang DOM trong XML: ............... 54 III.2. Chuyển đổi tài liệu XML sang cơ sở dữ liệu quan hệ[3] .......... 67 2 III.2.1. Thuật toán gộp cơ sở ................................................................. 67 III.2.2. Thuật toán gộp chia sẻ: ............................................................. 71 III.2.3. Thuật toán Inlining chuyển đổi DTD sang lƣợc đồ quan hệ ...... 71 III.3. Kết luận: .................................................................................. 76 CHƢƠNG IV: XỬ LÝ TRUY VẤN .................................................... 77 IV.1. Xử lý truy vấn XML theo hƣớng truyền thống: ....................... 79 IV.2. Xử lý truy vấn XML dựa theo phân lớp .................................. 83 IV.3. XQuery: An XML Query Language ....................................... 83 1. Giới thiệu:......................................................................................... 83 2. Ngôn ngữ XQuery:[8] ....................................................................... 84 3. Sử dụng ngôn ngữ truy vấn XQuery:................................................ 88 IV.4. Kết luận ................................................................................... 94 KẾT LUẬN .......................................................................................... 95 TÀI LIỆU THAM KHẢO .................................................................... 97 3 MỘT SỐ TỪ VIẾT TẮT XML: eXtensible Markup Language B2B: Business to Business CoT: Contrains – based Languge DOM: Document Object Model DTD: Document Type Definition FT: Flat Translation FDI: Format Public Interface HTML: Hyper Text Markup Language NeT: Nesting based Translation OQL: Object Query Language PCDATA: Parser Character Data RDB: Relation Database RSBMS: Relation Database Management System SAX: Simple API XML SGML: Standard Generalized Markup Language SQL: Structured Query Language URI: Uniform Modeling Language W3C: World Wide Web Consortium XSLT: eExtensible Style Language Transformation XSL: eXtensible Style Language WML: Wireless Markup Language UIML: User Interface Markup Language CML: Chemical Markup Language XUL: XML User Interface Language PR1: Primary Relation Type 1 PR2: Primary Relation Type 2 SR1: Secondary Relation Type 1 SR2: Secondary Relation Type 2 KAP: Key Attribute Primary KAG: Key Attribute General FKA: Foreign Key Attribute NKA: Non Key Attribute IDN: Inclusion Dependency 4 MỘT SỐ THUẬT NGỮ Attribute: Thuộc tính Coment: Chú thích Node: Nút Object: Đối tƣợng Document: Tài liệu Parser: Bộ phân tích Relation Schema: Lƣợc đồ quan hệ Text: Dữ liệu XML Processing Instruction: Chỉ thị xử lý dữ liệu Element: Thành phần Root: Gốc Entity: Thực thể Attlist: Định nghĩa danh sách thuộc tính Schema: Sơ đồ Object: Đối tƣợng Child: Con Item: Thành phần Relation: Quan hệ Where: Điều kiện In: tham chiếu trong Foreign key: Khóa ngoài Intersect: Phép giao Optional Operator: Toán tử tùy chọn Or Operator: Toán tử hoặc Plus Operator: Toán tử dấu cộng Project: Phép chiếu 5 MỞ ĐẦU Hiện nay, XML đã và đang nổi lên như là một nhân tố chuẩn cho định dạng dữ liệu trên Web. Giống như HTML, XML là một tập con của SGML. Nhưng trong HTML các thẻ được mô tả với mục đích chính là mô tả cách trình bày dữ liệu trong một trang Web, ngược lại trong XML thì các thẻ được sử dụng để mô tả chính các dữ liệu lưu trữ trong tài liệu đó. Chính vì vậy một chương trình nhận một tài liệu XML có thể được biểu diễn bằng nhiều cách khác nhau, có thể trích lọc trực tiếp trên nội dung của dữ liệu XML đó, hoặc cũng có thể xây dựng một cấu trúc XML mới để phù hợp với ứng dụng của chương trình. Ngày nay khi mà có nhiều các ứng dụng thương mại hoạt động trên Web và nhu cầu trao đổi thông tin tự động giữa các doanh nghiệp (Business to Business – B2B) ngày càng được đặt ra thì một hệ thống xử lý truy vấn trên cơ sở dữ liệu XML tích hợp sẽ giúp cho người sử dụng thông thường có thể khai thác và xử lý thông tin một cách hiệu quả nhất, bao gồm: biểu diễn, trao đổi, lưu trữ và truy cập dữ liệu. Dữ liệu được trích rút từ hệ thống có cấu trúc và ngữ nghĩa sao cho có thể được hiểu bởi cả người và máy tính vì vậy còn có thể được sử dụng lại cho nhiều mục đích khác nhau. Luận văn này trình bày cách thức để thực hiện xử lý được các truy vấn trên cơ sở dữ liệu tích hợp XML. Luận văn được chia thành 4 chương: Chương 1: Các khái niệm cơ bản của XML Chương 2: Phân tích XML Chương 3: Chuyển đổi giữa XML và các mô hình dữ liệu Chương 4: Xử lý truy vấn 7 CHƯƠNG I: CÁC KHÁI NIỆM CƠ BẢN CỦA XML I.1. XML là gì: XML là viết tắt của Extensible Markup Language, XML được sử dụng để mô tả các tài liệu và dữ liệu dưới một dạng chuẩn tức là dựa trên một định dạng của văn bản để cho phép dễ dàng truyền tải dữ liệu thông qua các giao thức chuẩn của mạng. XML là ngôn ngữ định dạng mở rộng và ngôn ngữ tổng quát dùng để định nghĩa dữ liệu thông qua các thẻ. XML được đưa ra với mục tiêu là tăng cường các kiểu dữ liệu nhưng loại bỏ tối đa tính phức tạp. XML không thực sự là một ngôn ngữ mà là một chuẩn để tạo ra các ngôn ngữ thỏa mãn các quy chuẩn XML.[1] Hiện nay, để xử lý dữ liệu trên Web và phát triển ứng dụng mạng, số thẻ sẽ làm việc tiếp tục tăng lên ngày càng nhiều hơn và XML thực sự là một giải pháp cho sự tăng lên thường xuyên của các thẻ. Do: - Thứ nhất, ngôn ngữ XML trong sáng, đơn giản, dễ đọc, bởi được biểu diễn ở dạng thuần văn bản. - Thứ hai, ngôn ngữ XML cho phép tự định nghĩa thẻ nên mỗi người có thể tự đưa ra một tập thẻ của mình. Tuỳ vào mục đích sử dụng cụ thể mà các tập thẻ đó có thể là quy ước trao đổi dữ liệu trong một lĩnh vực nào đó như ngân hàng. 8 Hinh 1. 1 – XML là hoàn toàn độc lập cho các ứng dụng XML là ngôn ngữ định dạng thiên về mô tả cấu trúc dữ liệu và định nghĩa ngôn ngữ. Để thực hiện xử lý trích rút và hiển thị dữ liệu của tài liệu XML có thể thực hiện một trong các cách: - Sử dụng các mô hình tài liệu như DOM, SAX, DSO để trích rút dữ liệu XML. - Sử dụng bảng định kiểu CSS (Cascading Style Sheet) để định kiểu hiển thị cho dữ liệu XML. - Sử dụng ngôn ngữ định kiểu mở rộng XSL(Extension Style Language). Hiện nay, XML là một chuẩn ngày càng được dùng rộng rãi trong công nghiệp phát triển phần mềm. Và thực tế hàng trăm ngôn ngữ định dạng chuyên dụng được định nghĩa trên XML đã ra đời như XHTML, (Extension HTML), WML(Wireless Markup Language), VoiceXML, UIML(User Interface Markup Language), CML(Chemical Markup Language), MathML, XUL(XML User Interface Language)… XML tiến hành mô tả bất kỳ công việc nào dưới dạng văn bản và việc định dạng của dữ liệu đó là hoàn toàn mở. Điều này có nghĩa rằng bất cứ dữ 9 liệu nào được mô tả dưới dạng như văn bản và nội dung của văn bản có thể thu nhỏ lại thành các thẻ XML thì đều được coi như là tài liệu XML. Sự mở rộng để trở thành ngôn ngữ không chỉ dựa vào cú pháp cơ bản của XML mà còn dựa vào xem người phát triển có thể làm được gì. I.2. Cấu trúc của tài liệu XML: Mặc dù các thành phần, thuộc tính và văn bản là một phần rất quan trọng cho việc thiết kế tài liệu XML. Tuy nhiên để cho làm việc có hiệu quả thì các tài liệu XML phải tuân thủ theo một cấu trúc nhất định. Ví dụ 1. 1: Day la muc 1 cua thanh phan Day la muc 2 cua thanh phan - Mọi tài liệu XML đều được bắt đầu bằng thẻ bắt đầu với ở phía trên cùng của tài liệu. Thẻ này được coi là thẻ mô tả tài liệu XML. - Trong cặp thẻ còn có các thuộc tính đi kèm để mô tả, như: + Thuộc tính version để xác định phiên bản của chuẩn W3C XML. Bộ phân tích XML sẽ sử dụng thuộc tính version để xác định được các quy luật cho phép trong việc thực hiện phân tích tài liệu XML. + Thuộc tính encoding để xác định bộ mã hóa chuẩn được sử dụng trong tài liệu XML. 10 + Thuộc tính standalone nhận hai giá trị logic “True” và “False” để xác định tài liệu XML đang định nghĩa có sử dụng thêm tài nguyên từ các tệp khác nữa không. I.3. Cấu trúc các thành phần và thuộc tính: Theo như mô tả của XML thì mọi tài liệu XML đều có chứa duy nhất một thành phần gốc của tài liệu. Sau khi đã có thành phần gốc thì bắt đầu đi mô tả các thành phần con bên trong của tài liệu. I.4. Cú pháp tài liệu XML: XML mô tả dữ liệu và nội dung nó chứa dưới dạng các thẻ, dữ liệu được mô tả với cấu trúc chính xác và tuân theo những quy luật sẵn có để định dạng. Đồng thời XML cũng có những quy tắc về mặt cú pháp khi tiến hành mô tả dữ liệu. Các quy tắc về mặt cú pháp khi xây dựng tài liệu XML gồm: - Tên thành phần XML phải giống nhau trong thẻ bắt đầu và thẻ kết thúc (có phân biệt chữ hoa chữ thường). - Thẻ kết thúc phải thêm ký hiệu „/‟ so với thẻ kết thúc. - Giá trị của các thuộc tính phải được đặt giữa cặp dấu nháy kép “”. - Nội dung chú thích được đặt giữa cặp thẻ . - Mọi thẻ mô tả thành phần phải luôn luôn được đóng. I.5. Không gian tên: Do bản chất XML rất rộng, cho phép mọi cá nhân hay công ty đều có thể tự tạo ra các kiểu tư liệu XML mô tả cho đặc thù riêng. Vì thế có những trường hợp khi định nghĩa các tài liệu XML có các thẻ cùng tên nhưng mang ý nghĩa khác nhau và được sử dụng với các mục đích khác nhau tùy từng cá nhân hay công ty. 11 Cách tốt nhất để giải quyết vấn đề này là làm sao cho từng thành phần có tên hoàn toàn riêng biệt không bị trùng đối với bất kỳ cá nhân hay cơ quan nào. Từ đó hình thành khái niệm “Không gian tên”. Không gian tên là phương thức cho phép phân biệt và xác định những tên thành phần trùng nhau trong cùng một tài liệu XML. Không gian tên có thể được sử dụng để mô tả các kiểu dữ liệu hay thông tin khác hoặc được dùng để định nghĩa ra các tên viết tắt. Trong XML không gian tên được xây dựng bằng cách sử dụng tiền tố trước phần khai báo của từng thành phần. Khi đó tất cả các thành phần có cùng tiền tố đều thuộc về cùng một “phạm vi” với nhau. Ví dụ 1. 2: Sir Pham Khanh Lý lich cua Khanh

Pham Khanh

Khanh la giam doc cong ty phan mem

Nhận thấy, có cả hai thành phần trong cả thành phần <name> và thành phần <lý lich>, vì thế để phân biệt chính xác khi sử dụng thì sử dụng không gian tên. 12 Ví dụ 1. 3: <?xml version=”1.0” encoding=”UTF-8”?> <per:person> < per:name> < per:title> Sir </ per:title> < per:ho> Pham </ per:ho> < per:ten> Khanh </ per:ten> </ per:name> < per:lylich> <xhml::html> <xhml::head> <xhml::title>Lý lich cua Khanh</xhml::title> </xhml::head> < xhml::body> < xhml::h1> Pham Khanh </ xhml::h1> < xhml::p> Khanh la giam doc phan mem</ xhml::p> </ xhml::body> </ xhml::html> </per:lylich> </per:person> I.6. Tài liệu XML hợp lệ: Khi xây dựng tài liệu XML có một số quy luật chặt chẽ cho việc xây dựng các cấu trúc cơ bản cũng như các quy tắc về mặt cú pháp để có được các tài liệu XML hợp khuôn dạng. Đồng thời cũng có một số định dạng để xác định khung cho việc xây dựng tài liệu XML hợp lệ. Tính hợp lệ hay đúng đắn của tài liệu XML được xác định thông qua định nghĩa kiểu tài liệu(DTD – Document Type Definition) và sơ đồ XML. Các tài liệu XML được so sánh với các quy luật đã xác định dựa vào DTD hoặc dựa vào sơ đồ. Tài liệu XML hợp khuôn dạng được xây dựng dựa vào hầu hết các yêu cầu đặt ra của một hay nhiều đặc trưng xác định sẽ được coi là tài liệu XML đúng đắn. 13 Thông thường thì sẽ không cần có cả DTD và sơ đồ trong một tài liệu XML vì cả hai đều cho phép xác định cùng một cấu trúc của tài liệu. Tuy nhiên, để có được kết quả tốt nhất thì nên kết hợp cả sơ đồ và DTD trong một tài liệu XML. Và tài liệu XML được tạo ra từ nhiều nguồn tài liệu khác nhau thì hay kết hợp cả DTD và sơ đồ. Cả DTD và sơ đồ cho phép tham chiếu trực tiếp đến các đặc trưng chính của cấu trúc tài kiệu từ đó cho phép hiển thị tài liệu một cách tổng quát. I.6.1. Định nghĩa kiểu tài liệu – DTD: a. Định nghĩa kiểu tư liệu DTD là gì? Một tài liệu XML được xem là hợp lệ và có giá trị khi toàn bộ các phần tử trong tài liệu đều được định nghĩa kiểu mà nó sẽ chứa. Việc định nghĩa kiểu dữ liệu cho các phần tử thẻ còn gọi là định nghĩa kiểu tư liệu. Ví dụ 1. 4: <?xml version=‟1.0” standalone=”yes”?> <!DOCTYPE DOCUMENT[ <!ELEMENT DOCUMENT(EMPLOYEE)*> <!ELEMENT EMPLOYEE(ID,NAME,SALARY> <!ELEMENT ID(#PCDATA)> <!ELEMENT NAME(#PCDATA)> <!ELEMENT SALARY(#PCDATA)>]> b. Tạo khai báo và định nghĩa kiểu dữ liệu DTD: Để cho phép định nghĩa kiểu tư liệu cho các phần tử XML dùng thẻ <!DOCTYPE> ở ngay vị trí đầu của tệp XML. Tiếp đến định nghĩa các kiểu tư liệu các phần tử bên trong cặp dấu ngoặc vuông []. Sau đó mỗi phần tử được bắt đầu định nghĩa bằng thẻ khai báo <!ELEMENT>. Cú pháp: <!ELEMENT NAME CONTENT_MODE> Trong đó: * NAME là tên của phần tử muốn định nghĩa. 14 * CONTENT_MODE là xác định chế độ tạo ra phần tử. Có thể nhận giá trị EMPTY, ANY hoặc trộn lẫn cả hai nội dung (bao gồm dữ liệu có thể dùng phân tích hoặc các phần tử con khác). c. Danh sách các phần tử con: Để mô tả các phần tử DTD có thể chứa những phần tử con khác thì các phần tử con được định tên và liệt kê trong cặp dấu ngoặc đơn. Ví dụ 1. 5: <?xml version=‟1.0” standalone=”yes”?> <!DOCTYPE DOCUMENT[ <!ELEMENT DOCUMENT(EMPLOYEE)*> … ]> Chú ý: dấu * để xác định số phần tử có khả năng lưu trữ trong tài liệu d. Trình tự đặt phần tử DTD: Khi khai báo một phần tử có nhiều phần tử con thì thực hiện định nghĩa lồng nhau các phần tử DTD theo một trình tự mà các phần tử xuất hiện. e. Tạo lập phần tử con Để định nghĩa một tập các DTD con của một thành phần sử dụng các ký hiệu quy ước để định nghĩa, như: *, +,… Ví dụ: <!ELEMENT EMPLOYEE(ID,(NAME)+,DATE,SALARY)> * Định nghĩa DTD cho các phần tử rỗng: Cho phép định nghĩa các thành phần của DTD không chứa bất kỳ dữ liệu nào cả kể cả #PCDATA và dữ liệu định dạng, để khai báo phần tử rỗng sử dụng từ khóa EMPTY. * Chú thích cho phần tử DTD: 15 Chú thích được dùng như chú thích của XML. Chú thích được sử dụng với mục đích để giải thích và làm rõ hơn các thành phần được sử dụng trong DTD. Nội dung của chú thích được đặt giữa cặp ký hiệu <!-- và -->. f. Định nghĩa DTD ngoại: Định nghĩa DTD ngoại cho phép các phần tử thẻ dựa trên các tham chiếu đã được định nghĩa sẵn từ các tài liệu XML trước đó. Các DTD xây dựng sẵn thường được lưu trữ trong tệp “.dtd”. Sử dụng định nghĩa DTD tham chiếu ngoại khiến cho các ứng dụng của XML có thể dễ dàng chia sẻ và dùng chung với các ứng dụng khác hơn. Đây là cách mà hầu hết các ứng dụng DTD đều hỗ trợ. Có hai cách chỉ định một phần tử DTD tham chiếu ngoại: tham chiếu ngoại riêng, tham chiếu ngoại chung. * Tham chiếu ngoại riêng: Định nghĩa DTD tham chiếu ngoại riêng được sử dụng cho một nhóm người và mang tính cá nhân. Để khai báo và định nghĩa phần tử DTD tham chiếu ngoại riêng sử dụng từ khóa SYSTEM trong chỉ thị khai báo <!DOCTYPE> và kèm theo là đường dẫn tới tệp sử dụng chung đó. * Tham chiếu ngoại dùng chung: Tham chiếu ngoại dùng chung cho phép các thẻ DTD có khả năng làm tham chiếu ngoại dùng chung và liên kết với nhiều tài liệu khác nhau, để tạo tham chiếu dùng chung thì thay từ khóa SYSTEM ở phần trên bằng từ khóa PUBLIC. g. Thực thể và thuộc tính DTD: * Thực thể: Một thực thể là cách XML tham chiếu đến một mục dữ liệu; thực thể thường là văn bản(text), tuy nhiên cũng có thể là dữ liệu nhị phân. 16 Các thực thể được khai báo trong phần định nghĩa DTD, sau đó trong tài liệu XML sử dụng thực thể bằng cách tham chiếu đến nó trong tài liệu. Nói cách khác, khai báo một thực thể trong DTD và tham chiếu đến chúng bằng tham chiếu thực thể, tham chiếu này có thể trong nội dung tài liệu đối với tham chiếu tổng quát hoặc trong DTD đối với thực thể tham số. Có hai loại thực thể XML: thực thể tổng quát và thực thể tham số. Ngoài ra, có thể định nghĩa riêng các thực thể bằng cách khai báo trong DTD. Để khai báo sử dụng phần tử chỉ thị <!ENTITY> khi dùng DTD. Cú pháp khai báo như sau: <!ENTITY NAME DEFINITION> - NAME là tên của thực thể. Tên của thực thể được dùng để tham chiếu đến nội dung của nó - DEFINITION là định nghĩa của thực thể. Nội dung của định nghĩa đơn giản nhất là các văn bản muốn thay thế khi thực hiện tham chiếu đến. *Thuộc tính: Các kiểu thành phần là các danh từ của XML thì các thuộc tính thành phần có thể được xem như là các tính từ. Dùng các thuộc tính để mô tả dữ liệu mêta hoặc các tính chất của thành phần kết hợp. Mỗi thuộc tính được xác định bởi các đặc tính sau: - Tên thành phần chứa thuộc tính. - Tên thuộc tính cần mô tả. - Kiểu của thuộc tính. - Giá trị mặc định của thuộc tính (nếu có). Thuộc tính được sử dụng trong thẻ mở và thẻ rỗng của thành phần. Thuộc tính nhằm mục đích cung cấp thêm thông tin cho phần tử thẻ. Để khai 17 báo thuộc tính dùng chỉ thị khai báo <!ATTLIST>, khi đó danh sách các thuộc tính sẽ kết hợp với phần tử thẻ DTD nào đó. Cú pháp định nghĩa thuộc tính: <!ATTLIST ELEMENT_NAME ATTRIBUTE_NAME TYPE DEFAULT_VALUE … ATTRIBUTE_NAME TYPE DEFAULT_VALUE> Trong đó: ELEMENT_NAME: là tên của phần tử mà thuộc tính sẽ kết hợp. ATTRIBUTE_NAME; là tên các thuộc tính cần định nghĩa. TYPE: là kiểu của thuộc tính tương ứng cần định nghĩa. TYPE có thể nhận các nhiều giá trị khác nhau. DEFAULT_VALUE: là giá trị mặc định của thuộc tính. Có thể nhận các giá trị sau: h. Các hạn chế của DTD: - Các DTD không thể mở rộng. - Mỗi tư liệu chỉ kết hợp với một DTD. - Các DTD không làm việc với các không gian tên XML. - Định kiểu dữ liệu rất yếu. - Các phần mô tả mô hình nội dung hạn chế. - Không có sự kế thừa đối tượng kiểu OO. - Một tư liệu có thể chạy đè/bỏ qua một DTD bên ngoài dùng tập con nội bộ. - Cú pháp phi XML. - Không hỗ trợ DOM. 18 I.6.2. Sơ đồ - Schema: DTD là một trong các phương pháp định chuẩn các tư liệu được định nghĩa trong XML 1.0. Ngoài ra còn có một số phương pháp khác cũng được đề xuất với mục đích để tạo ra các tư liệu XML hợp lệ. Một trong các cách đó là sơ đồ. a. Định nghĩa: “Sơ đồ” được định nghĩa là tổ chức hoặc cấu trúc của một cơ sở dữ liệu, thường được phát sinh từ tiến trình lập mô hình dữ liệu. Cấu trúc này thường được mô tả bằng một kiểu từ vựng có kiểm soát đặt tên các mục của dữ liệu, và liệt kê mọi hạn chế có thể áp dụng (kiểu dữ liệu, các giá trị hợp lệ/không hợp lệ, định dạng đặc biệt,…). b. Cách xây dựng lược đồ: - Lược đồ là một tài liệu XML bắt đầu bằng phần tử <schema> và trong đó có thể đặt tên cho lược đồ dựa vào thuộc tính name. Ví dụ 1.7: <?xml version=‟1.0‟?> <schema name=‟”name_schema”> ... </schema> - Ưu điểm nổi bật của lược đồ là cho phép định nghĩa và khai báo kiểu dữ liệu thực sự mà người dùng muốn sử dụng. - Để định nghĩa một phần tử của tài liệu XML, trong lược đồ sử dụng phần tử khai báo <ElementType>. I.6.3. Bảng định kiểu: Bảng định kiểu được viết tắt là CSS, là một khái niệm đã quen thuộc với những người lập trình Web. Đó là một cách thức để quản lý và thiết kế giao 19 </div> <a href="#" class="read-mores">- Xem thêm -</a> </div> </div> <div class="margin-top-20 margin-bottom-20"> <div id="fb-root"></div> <div class="fb-comments" data-href="http://xemtailieu.com/tai-lieu/xu-ly-truy-van-tren-co-so-du-lieu-tich-hop-xml-149144.html" data-numposts="5" data-width="100%"></div> </div> <div class="col-md-6"> <h3 class="text-center text-info font-size-20"><i class="fa fa-list-ul"></i> Tài liệu vừa đăng</h3> <ul class="detail-related-list no-padding-left padding-top-20"> <li><i class="fa fa-file-pdf-o text-danger"></i> <a href="/tai-lieu/danh-gia-hieu-qua-va-de-xuat-mot-so-giai-phap-phat-trien-kinh-te-nong-ho-tai-phuong-tich-luong-tinh-thai-nguyen-1291512.html" target="_blank">đánh giá hiệu quả và đề xuất một số giải pháp phát triển kinh tế nông hộ tại phường tích lương ...</a></li> <li><i class="fa fa-file-pdf-o text-danger"></i> <a href="/tai-lieu/giai-phap-phat-trien-the-chat-cho-hoc-sinh-khoi-10-truong-thpt-kim-dong-hung-yen-1290557.html" target="_blank">Giải pháp phát triển thể chất cho học sinh khối 10 trường thpt kim động hưng yên...</a></li> <li><i class="fa fa-file-pdf-o text-danger"></i> <a href="/tai-lieu/xay-dung-phuong-phap-khich-le-hoc-tap-trong-hoc-gdtc-cho-hoc-sinh-nu-khoi-11-truong-thpt-lien-ha-dong-anh-ha-noi-1290555.html" target="_blank">Xây dựng phương pháp khích lệ học tập trong học gdtc cho học sinh nữ khối 11 trường thpt liên hà...</a></li> <li><i class="fa fa-file-word-o text-primary"></i> <a href="/tai-lieu/quan-ly-phat-trien-doi-ngu-giao-vien-truong-trung-hoc-co-so-b-hai-minh-huyen-hai-hau-tinh-nam-dinh-theo-mo-hinh-quan-ly-dua-vao-nha-truong-1290554.html" target="_blank">Quản lý phát triển đội ngũ giáo viên trường trung học cơ sở b hải minh, huyện hải hậu, tỉnh nam ...</a></li> <li><i class="fa fa-file-pdf-o text-danger"></i> <a href="/tai-lieu/quan-ly-hoat-dong-giao-duc-tre-5-tuoi-theo-bo-chuan-phat-trien-tre-em-5-tuoi-o-cac-truong-mam-non-huyen-hoa-lu-tinh-ninh-binh-1290552.html" target="_blank">Quản lý hoạt động giáo dục trẻ 5 tuổi theo bộ chuẩn phát triển trẻ em 5 tuổi ở các trường mầm no...</a></li> </ul> </div> <div class="col-md-6"> <h3 class="text-center text-info font-size-20"><i class="fa fa-list-ul"></i> Tài liệu xem nhiều</h3> <ul class="detail-related-list no-padding-left padding-top-20"> <li><i class="fa fa-file-pdf-o text-danger"></i> <a href="/tai-lieu/phap-luat-ve-giao-ket-hop-dong-lao-dong-va-thuc-tien-thuc-hien-trong-cac-doanh-nghiep-o-da-nang-122894.html" target="_blank">Pháp luật về giao kết hợp đồng lao động và thực tiễn thực hiện trong các doanh nghiệp ở Đà Nẵng...</a></li> <li><i class="fa fa-file-pdf-o text-danger"></i> <a href="/tai-lieu/quan-tri-quan-he-khach-hang-tai-ngan-hang-tmcp-cong-thuong-chi-nhanh-hoi-an-91943.html" target="_blank">Quản trị quan hệ khách hàng tại ngân hàng tmcp công thương - chi nhánh hội an...</a></li> <li><i class="fa fa-file-pdf-o text-danger"></i> <a href="/tai-lieu/cong-tac-xa-hoi-ca-nhan-voi-phu-nu-ngheo-don-than-tai-xa-nghia-thai-huyen-tan-ky-tinh-nghe-an-52364.html" target="_blank">Công tác xã hội cá nhân với phụ nữ nghèo đơn thân tại xã nghĩa thái huyện tân kỳ tỉnh nghệ an...</a></li> <li><i class="fa fa-file-word-o text-primary"></i> <a href="/tai-lieu/khao-sat-thuc-trang-su-tuan-thu-ve-sinh-tay-thuong-quy-cua-nhan-vien-y-te-tai-benh-vien-tim-ha-noi-108686.html" target="_blank">Khảo sát thực trạng sự tuân thủ vệ sinh tay thường quy của nhân viên y tế tại bệnh viện tim hà n...</a></li> <li><i class="fa fa-file-pdf-o text-danger"></i> <a href="/tai-lieu/nghien-cuu-su-hai-long-cua-nhan-vien-tai-cong-ty-co-phan-co-phan-cao-su-da-nang-126557.html" target="_blank">Nghiên cứu sự hài lòng của nhân viên tại công ty cổ phần cổ phần Cao su Đà Nẵng...</a></li> </ul> </div> </div> </div> <div class="col-lg-3 col-md-3 hidden-xs"> <div class="widget ads-detail"> <script type="text/javascript"><!-- google_ad_client = "ca-pub-7002491002409919"; /* nl_xtl_pc_right1_detail_336x280 */ google_ad_slot = "2221989708/9605529108"; google_ad_width = 336; google_ad_height = 280; //--> </script> <script type="text/javascript"src="//pagead2.googlesyndication.com/pagead/show_ads.js"> </script> </div> <div class="widget"> <div class="title">Tài liệu liên quan</div> <ul class="related-list-right no-padding-left"> <li> <i class="fa fa-file-pdf-o text-danger"></i> <a href="/tai-lieu/phap-luat-ve-giao-ket-hop-dong-lao-dong-va-thuc-tien-thuc-hien-trong-cac-doanh-nghiep-o-da-nang-122894.html" data-toggle="tooltip" data-placement="top" title="Tài liệu Pháp luật về giao kết hợp đồng lao động và thực tiễn thực hiện trong các doanh nghiệp ở Đà Nẵng" target="_blank">Pháp luật về giao kết hợp đồng lao động và thực tiễn thực hi...</a> <br> <p><i class="fa fa-file-text-o"></i> 105 <i class="fa fa-eye"></i> 8929 <i class="fa fa-download"></i> 44</p> </li> <li> <i class="fa fa-file-pdf-o text-danger"></i> <a href="/tai-lieu/quan-tri-quan-he-khach-hang-tai-ngan-hang-tmcp-cong-thuong-chi-nhanh-hoi-an-91943.html" data-toggle="tooltip" data-placement="top" title="Tài liệu Quản trị quan hệ khách hàng tại ngân hàng tmcp công thương - chi nhánh hội an" target="_blank">Quản trị quan hệ khách hàng tại ngân hàng tmcp công thương -...</a> <br> <p><i class="fa fa-file-text-o"></i> 26 <i class="fa fa-eye"></i> 5345 <i class="fa fa-download"></i> 0</p> </li> <li> <i class="fa fa-file-pdf-o text-danger"></i> <a href="/tai-lieu/cong-tac-xa-hoi-ca-nhan-voi-phu-nu-ngheo-don-than-tai-xa-nghia-thai-huyen-tan-ky-tinh-nghe-an-52364.html" data-toggle="tooltip" data-placement="top" title="Tài liệu Công tác xã hội cá nhân với phụ nữ nghèo đơn thân tại xã nghĩa thái huyện tân kỳ tỉnh nghệ an" target="_blank">Công tác xã hội cá nhân với phụ nữ nghèo đơn thân tại xã ngh...</a> <br> <p><i class="fa fa-file-text-o"></i> 82 <i class="fa fa-eye"></i> 5131 <i class="fa fa-download"></i> 32</p> </li> <li> <i class="fa fa-file-word-o text-primary"></i> <a href="/tai-lieu/khao-sat-thuc-trang-su-tuan-thu-ve-sinh-tay-thuong-quy-cua-nhan-vien-y-te-tai-benh-vien-tim-ha-noi-108686.html" data-toggle="tooltip" data-placement="top" title="Tài liệu Khảo sát thực trạng sự tuân thủ vệ sinh tay thường quy của nhân viên y tế tại bệnh viện tim hà nội" target="_blank">Khảo sát thực trạng sự tuân thủ vệ sinh tay thường quy của n...</a> <br> <p><i class="fa fa-file-text-o"></i> 29 <i class="fa fa-eye"></i> 4784 <i class="fa fa-download"></i> 2</p> </li> <li> <i class="fa fa-file-pdf-o text-danger"></i> <a href="/tai-lieu/nghien-cuu-su-hai-long-cua-nhan-vien-tai-cong-ty-co-phan-co-phan-cao-su-da-nang-126557.html" data-toggle="tooltip" data-placement="top" title="Tài liệu Nghiên cứu sự hài lòng của nhân viên tại công ty cổ phần cổ phần Cao su Đà Nẵng" target="_blank">Nghiên cứu sự hài lòng của nhân viên tại công ty cổ phần cổ ...</a> <br> <p><i class="fa fa-file-text-o"></i> 26 <i class="fa fa-eye"></i> 3616 <i class="fa fa-download"></i> 0</p> </li> <li> <i class="fa fa-file-pdf-o text-danger"></i> <a href="/tai-lieu/hoan-thien-he-thong-danh-gia-thanh-tich-cong-tac-cua-nhan-vien-tai-trung-tam-dien-toan-va-truyen-so-lieu-khu-vuc-3-124062.html" data-toggle="tooltip" data-placement="top" title="Tài liệu Hoàn thiện hệ thống đánh giá thành tích công tác của nhân viên tại trung tâm điện toán và truyền số liệu khu vực 3" target="_blank">Hoàn thiện hệ thống đánh giá thành tích công tác của nhân vi...</a> <br> <p><i class="fa fa-file-text-o"></i> 26 <i class="fa fa-eye"></i> 3193 <i class="fa fa-download"></i> 0</p> </li> <li> <i class="fa fa-file-pdf-o text-danger"></i> <a href="/tai-lieu/lang-cu-da-thanh-oai-ha-tay-qua-trinh-hinh-thanh-nhung-dac-diem-kinh-te-xa-hoi-van-hoa-297215.html" data-toggle="tooltip" data-placement="top" title="Tài liệu Làng cự đà (thanh oai, hà tây) quá trình hình thành, những đặc điểm kinh tế - xã hội - văn hóa" target="_blank">Làng cự đà (thanh oai, hà tây) quá trình hình thành, những đ...</a> <br> <p><i class="fa fa-file-text-o"></i> 153 <i class="fa fa-eye"></i> 2504 <i class="fa fa-download"></i> 0</p> </li> <li> <i class="fa fa-file-pdf-o text-danger"></i> <a href="/tai-lieu/nhung-yeu-to-anh-huong-den-quyet-dinh-chon-ngan-hang-nong-nghiep-va-phat-trien-nong-thon-viet-nam-de-gui-tien-tiet-kiem-tai-tinh-quang-ngai-292492.html" data-toggle="tooltip" data-placement="top" title="Tài liệu Những yếu tố ảnh hưởng đến quyết định chọn ngân hàng nông nghiệp và phát triển nông thôn việt nam để gửi tiền tiết kiệm tại tỉnh quảng ngãi" target="_blank">Những yếu tố ảnh hưởng đến quyết định chọn ngân hàng nông ng...</a> <br> <p><i class="fa fa-file-text-o"></i> 87 <i class="fa fa-eye"></i> 2225 <i class="fa fa-download"></i> 0</p> </li> <li> <i class="fa fa-file-pdf-o text-danger"></i> <a href="/tai-lieu/lao-dong-va-viec-lam-o-huyen-nha-be-thanh-pho-ho-chi-minh-trong-thoi-ki-cong-nghiep-hoa-hien-dai-hoa-153566.html" data-toggle="tooltip" data-placement="top" title="Tài liệu Lao động và việc làm ở huyện nhà bè (thành phố hồ chí minh) trong thời kì công nghiệp hóa – hiện đại hóa" target="_blank">Lao động và việc làm ở huyện nhà bè (thành phố hồ chí minh) ...</a> <br> <p><i class="fa fa-file-text-o"></i> 135 <i class="fa fa-eye"></i> 2177 <i class="fa fa-download"></i> 0</p> </li> <li> <i class="fa fa-file-pdf-o text-danger"></i> <a href="/tai-lieu/toi-uu-dieu-kien-tach-chiet-va-lam-giau-axit-beo-omega-3-va-omega-6-tu-sinh-khoi-vi-tao-bien-di-duong-schizochytrium-mangrovei-pq6-cua-viet-nam-29714.html" data-toggle="tooltip" data-placement="top" title="Tài liệu Tối ưu điều kiện tách chiết và làm giàu axit béo omega-3 và omega-6 từ sinh khối vi tảo biển dị dưỡng schizochytrium mangrovei pq6 của việt nam" target="_blank">Tối ưu điều kiện tách chiết và làm giàu axit béo omega-3 và ...</a> <br> <p><i class="fa fa-file-text-o"></i> 74 <i class="fa fa-eye"></i> 2155 <i class="fa fa-download"></i> 1</p> </li> <li> <i class="fa fa-file-pdf-o text-danger"></i> <a href="/tai-lieu/nghien-cuu-saas-trong-dien-toan-dam-may-va-ap-dung-vao-bai-toan-cap-nhat-toa-do-cac-tram-bts-tai-vien-thong-ha-noi-82034.html" data-toggle="tooltip" data-placement="top" title="Tài liệu Nghiên cứu saas trong điện toán đám mây và áp dụng vào bài toán cập nhật tọa độ các trạm bts tại viễn thông hà nội" target="_blank">Nghiên cứu saas trong điện toán đám mây và áp dụng vào bài t...</a> <br> <p><i class="fa fa-file-text-o"></i> 26 <i class="fa fa-eye"></i> 2155 <i class="fa fa-download"></i> 0</p> </li> <li> <i class="fa fa-file-pdf-o text-danger"></i> <a href="/tai-lieu/giai-phap-tang-cuong-cong-tac-quan-ly-he-thong-de-dieu-hoa-tren-dia-ban-tinh-nam-dinh-den-nam-2020-281008.html" data-toggle="tooltip" data-placement="top" title="Tài liệu Giải pháp tăng cường công tác quản lý hệ thống đê điều hòa trên địa bàn tỉnh nam định đến năm 2020" target="_blank">Giải pháp tăng cường công tác quản lý hệ thống đê điều hòa t...</a> <br> <p><i class="fa fa-file-text-o"></i> 120 <i class="fa fa-eye"></i> 2050 <i class="fa fa-download"></i> 11</p> </li> <li> <i class="fa fa-file-pdf-o text-danger"></i> <a href="/tai-lieu/hoan-thien-he-thong-kiem-soat-noi-bo-doi-voi-nghiep-vu-tin-dung-trong-ngan-hang-thuong-mai-co-phan-xuat-nhap-khau-viet-nam-pdf-76669.html" data-toggle="tooltip" data-placement="top" title="Tài liệu Hoàn thiện hệ thống kiểm soát nội bộ đối với nghiệp vụ tín dụng trong ngân hàng thương mại cổ phần xuất nhập khẩu việt nam.pdf" target="_blank">Hoàn thiện hệ thống kiểm soát nội bộ đối với nghiệp vụ tín d...</a> <br> <p><i class="fa fa-file-text-o"></i> 149 <i class="fa fa-eye"></i> 2024 <i class="fa fa-download"></i> 5</p> </li> <li> <i class="fa fa-file-pdf-o text-danger"></i> <a href="/tai-lieu/ung-dung-phan-mem-maple-vao-viec-day-va-hoc-hinh-hoc-giai-tich-124161.html" data-toggle="tooltip" data-placement="top" title="Tài liệu Ứng dụng phần mềm Maple vào việc dạy và học hình học giải tích" target="_blank">Ứng dụng phần mềm Maple vào việc dạy và học hình học giải tí...</a> <br> <p><i class="fa fa-file-text-o"></i> 26 <i class="fa fa-eye"></i> 1976 <i class="fa fa-download"></i> 0</p> </li> <li> <i class="fa fa-file-word-o text-primary"></i> <a href="/tai-lieu/giai-phap-tang-cuong-quan-ly-rui-ro-tin-dung-tai-ngan-hang-tmcp-tien-phong-108266.html" data-toggle="tooltip" data-placement="top" title="Tài liệu Giải pháp tăng cường quản lý rủi ro tín dụng tại ngân hàng tmcp tiên phong" target="_blank">Giải pháp tăng cường quản lý rủi ro tín dụng tại ngân hàng t...</a> <br> <p><i class="fa fa-file-text-o"></i> 98 <i class="fa fa-eye"></i> 1798 <i class="fa fa-download"></i> 3</p> </li> </ul> </div> <div class="widget ads-right"> <script type="text/javascript"><!-- google_ad_client = "ca-pub-7002491002409919"; /* nl_xtl_pc_right2_detail_300x600 */ google_ad_slot = "2221989708/2082236988"; google_ad_width = 300; google_ad_height = 600; //--> </script> <script type="text/javascript"src="//pagead2.googlesyndication.com/pagead/show_ads.js"> </script> </div> </div> </div> </div> </section> <section class="doc_footer no-padding"> <div class="container"> <div class="row"> <div class="col-md-12" style="padding-top: 8px !important;"> <div class="col-md-4 col-xs-6"> <div class"row"> <label class="col-md-2 col-xs-2">Trang</label> <div class="col-md-4 col-xs-4 no-padding-right"> <input type="text" class="form-control" id="pagenum" maxlength="4" value="1"> </div> <label class="col-md-3 col-xs-3">/ 99</label> <label class="col-md-1 col-xs-1 nopadding"><i id="btnFS" class="fa fa-arrows-alt"></i></label> </div> </div> <div class="col-md-4 col-xs-6"> <a href="#" class="btn btn-warning dasdjfiwerhugysfdfw" data-token="RinaBook_ZgI3bgUGZvNWZkByb0BydvxWZiBSby9mZgUmbpxmbvBSZsBXbpNHIyVGc1NHIlhGdgU2cVBSI19WWgI3bmBSZkFWbgMXagUGdpNHIzlGa0BiblhGVg8Ddh1mcvZGI0YTZzFmQggGdpdHIsFWZkByb0BSZ2FGSQM0YzMwgDM4QTM0QTM5QTM" data-next="dGFpLWxpZXUveHUtbHktdHJ1eS12YW4tdHJlbi1jby1zby1kdS1saWV1LXRpY2gtaG9wLXhtbC0xNDkxNDQuaHRtbA=="><i class="fa fa-cloud-download"></i> Tải xuống <b class="font-size-16"></b></a> </div> </div> </div> </div> </section> </div> <div class="share_box"> <div class="fb-like" data-href="http://xemtailieu.com/tai-lieu/xu-ly-truy-van-tren-co-so-du-lieu-tich-hop-xml-149144.html" data-layout="box_count" data-action="like" data-show-faces="true" data-share="true"></div> <g:plusone size="tall"></g:plusone> </div> <div class="modal fade" id="buymodal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title" id="myModalLabel">Mua tài liệu</h4> </div> <div class="modal-body"> Chi phí hỗ trợ lưu trữ và tải về cho tài liệu này là <span class="text-danger text-bold"><span id="priceBuy"></span> đ</span>. Bạn có muốn hỗ trợ không?</div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Không</button> <a href="#" id="btnBuy" target="main" class="btn btn-primary">Có</a> </div> </div> </div> </div> <script> (function(d, s, id) {var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/vi_VN/sdk.js#xfbml=1&appId=963378073681645&version=v2.5"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); (function() {var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })(); $(function(){if (!!$('.ads-right').offset()) {var stickyTop = $('.ads-right').offset().top; $(window).scroll(function(event){var windowTop = $(this).scrollTop(); if (stickyTop <= windowTop - 292){console.log("A:" + stickyTop); console.log("B:" + windowTop); $('.ads-right').css({ position: 'fixed', top: '2px'}); } else {$('.ads-right').css('position','static'); } }); } }); /*FIXED DOC FOOTER*/ ( function ( document, window, index ) {'use strict'; var previousScroll = 0, headerOrgOffset = $('.doc_footer').height(); $(window).scroll(function () {if($('.header-fixed').length){var currentScroll = $(this).scrollTop(), dheight = $(document).height(), able = dheight - bshow, bshow = 100; if($('#statistics').offset()) bshow = $('#statistics').offset().top; if (currentScroll > headerOrgOffset) {if (currentScroll > previousScroll) {if(dheight - currentScroll < able) $('.doc_footer').slideUp('fast'); else $('.doc_footer').slideDown('fast'); } else {$('.doc_footer').slideUp('fast'); } } else {$('.doc_footer').slideUp('fast'); } previousScroll = currentScroll; } }); }( document, window, 0 )); $('.wrapper-readmore').find('a[href="#"]').on('click', function (e) { e.preventDefault(); this.expand = !this.expand; $(this).text(this.expand?"- Thu gọn -":"- Xem thêm -"); $(this).closest('.wrapper-readmore').find('.smallss, .bigss').toggleClass('smallss bigss'); }); </script> <style type="text/css">.smallss{ height: 89px;overflow:hidden;} .bigss {height: auto; } .read-mores{color:#00ab8b;} body.full-width{position: relative; overflow-y: scroll } body.full-width div[class^='col-'], body.full-width .document-iframe{position: static !important; } body.full-width .document-iframe .wrap-document-detail{position: absolute; top: 0; left: 0; width: 100%; background: #fff; padding: 0 30px; z-index: 999; } </style> <!-- footer --> <footer> <div class="container"> <section class="no-padding-top" id="statistics"> <div class="container"> <div class="row"> <div class="col-md-12 padding-bottom-20 text-center"> <script type="text/javascript"> google_ad_client = "ca-pub-7002491002409919"; google_ad_slot = "2221989708/5133442068"; var w = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; if(w>=970){ google_ad_width = 970; google_ad_height = 90; } else if(w>=728) { google_ad_width = 728; google_ad_height = 90; } else { google_ad_width = 300; google_ad_height = 250; } </script> <script type="text/javascript" src="//pagead2.googlesyndication.com/pagead/show_ads.js"></script> </div> </div> </div> </section> <div class="widget row"> <div class="col-lg-3 col-xs-12 col-lg-offset-2 text-center"> <h4 class="title">Giới thiệu</h4> <a href="http://xemtailieu.com/" title="Thư viện tài liệu"><img src="http://static.1tailieu.com/public/assets/img/logo_full.png" alt="Xemtailieu"></a> <i>Thư viện tài liệu trực tuyến</i> </div> <div class="col-lg-3 col-xs-12"> <h4 class="title">Hỗ trợ</h4> <ul class="nav"> <li><a href="mailto:support@xemtailieu.com"><i class="fa fa-envelope-o"></i> support@xemtailieu.com</a></li> <li><a href="skype:hotro_xemtailieu?chat"><i class="fa fa-skype"></i> hotro_xemtailieu</a></li> </ul> </div> <div class="col-lg-3 col-xs-12"> <h4 class="title">Giúp đỡ</h4> <ul class="nav"> <li><a href="/content/dieu-khoan-su-dung.html" title="Điều khoản trang xemtailieu.com">Điều khoản sử dụng</a></li> <li><a href="/content/quy-dinh-duyet-tai-lieu.html" title="Quy định duyệt tài liệu trang xemtailieu.com">Quy định duyệt tài liệu</a></li> <li><a href="/content/huong-dan-upload.html" title="Hướng dẫn upload tài liệu trang xemtailieu.com">Hướng dẫn upload tài liệu</a></li> <li><a href="/content/cac-hinh-thuc-kiem-tien-tren-xemtailieu.html" title="Hướng dẫn kiếm tiền trên trang xemtailieu.com">Hướng dẫn kiếm tiền</a></li> </ul> </div> </div> </div> <div class="footer-bottom padding-bottom-10"> <div class="container"><a href="http://xemtailieu.com/" title="Xemtailieu.com - Thư viện tài liệu"><b>Xemtailieu.com</b></a> không chịu trách nhiệm liên quan đến các vấn đề bản quyền tài liệu được thành viên tự nguyện đăng tải lên.</div> </div> </footer> <div id="signin" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="signin-title" aria-hidden="true"> <div class="modal-dialog modal-sm"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h3 class="modal-title" id="signin-title"><i class="fa fa-sign-in"></i> Đăng nhập</h3> </div> <form action="/dang-nhap/sm" method="POST" target="main"> <div class="modal-body modal-padding"> <a href="/dang-nhap/facebook" class="btn btn-block btn-social btn-facebook margin-bottom-10 border-radius-6"><i class="fa fa-facebook-square"></i>Đăng nhập với Facebook</a> <div class="separator"><span>or</span></div> <a href="/dang-nhap/google" class="btn btn-block btn-social btn-google-plus margin-bottom-10 border-radius-6"><i class="fa fa-google-plus-square"></i>Đăng nhập với Google</a> <div class="separator"><span>or</span></div> <input type="text" class="form-control input-lg" name="email" placeholder="Email address" required> <span class="help-block"></span> <input type="password" class="form-control input-lg" name="password" placeholder="Password" required> </div> <div class="modal-footer bg-white no-border margin-bottom-10"> <button type="submit" class="btn btn-lg btn-block btn-primary">Đăng nhập</button> <div class="text-center"><a href="#" class="color-grey-600 margin-top-20 display-block">Bạn quên mật khẩu?</a></div> </div> </form> </div> </div> </div> <div id="rina-mark"></div> <div class="back-to-top"><span class="scroll-top-inner"> <i class="fa fa-3x fa-chevron-up"></i> </span></div> <script src="http://static.1tailieu.com/public/assets/plugins/bootstrap/js/bootstrap.min.js"></script> <script src="http://static.1tailieu.com/public/assets/plugins/core.js"></script> <script src="http://static.1tailieu.com/public/assets/plugins/rina.js" type="text/javascript"></script> <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create','UA-52358676-1','auto'); ga('send','pageview'); </script> </script> </body> </html>