XML

Chia sẻ bởi Nguyễn Thị Thanh | Ngày 29/04/2019 | 84

Chia sẻ tài liệu: XML thuộc Bài giảng khác

Nội dung tài liệu:

Chương 1.
GIỚI THIỆU XML
1.1. XML là gì?
XML viết tắt của chữ eXtensible Markup Language
XML là một bộ qui luật về cách chia một tài liệu ra làm nhiều phần, rồi đánh dấu và ráp các phần khác nhau lại để dễ nhận diện chúng.
XML được chỉ đạo bởi tổ chức W3C
XML là "một cú pháp thông dụng cho việc biểu thị cấu trúc trong dữ liệu".
Dữ liệu có cấu trúc tham chiếu đến dữ liệu được gán nhãn cho nội dung, ý nghĩa, hoặc công dụng. 
Ví dụ
Trong một trang Web ta dùng những cặp thẻ để đánh dấu như và


Hello from XML


Hello from XML


Well come to XML


Trong trang HTML các cặp thẻ đều được định nghĩa trước và không chứa đựng ý nghĩa gì về dữ kiện mà chúng kẹp bên trong, trừ trường hợp cho TITLE.

có nghĩa hiển thị hàng chữ bên trong theo cỡ chữ lớn nhất, nhưng hàng chữ ấy có thể là bất cứ thứ gì.
XML thì cho phép ta tự do đặt tên các cặp thẻ để dùng khi cần.
XML không có giới hạn về số thẻ và ta không cần phải nhớ tên thẻ.
Ý nghĩa của các thẻ rất linh động và ta có thể sắp xếp các thẻ của XML theo loại cho hợp lý.
Ví dụ
Chúng ta muốn làm một trang XML về sách ta cần những thẻ diễn tả từng quyển sách:

<br><chapter><br>...<br>1.2. Ngôn ngữ định dạng<br>Ngôn ngữ định dạng tất cả những gì dùng để mô tả nội dung một tài liệu. <br>Ngôn ngữ định dạng mà mọi người quen nhất là HTML. HTML là ngôn ngữ cho phép tạo các trang web. <br>XML và HTML rất giống nhau, cả hai đều dựa trên chuẩn ngôn ngữ định dạng tổng quát SGML (Standard Geeneralized Marup Language). <br>SGML là ngôn ngữ định dạng tổng quát <br>SGML làm được rất nhiều thứ, tuy tổng quát nhưng khó học.<br>SGML ít được dùng. <br>XML là tập con của SGML nhưng lại dễ dùng, dễ sử dụng ở mức tổng quát.<br>Ngôn ngữ HTML không đủ để biểu diễn các thông tin cho mục đích riêng. <br>Ví dụ<br>chúng ta muốn xây dựng một mô hình xe máy và chúng ta muốn trao đổi những đặc tả về chiếc tàu với các đồng nghiệp? <br>HTML không hề chứa thẻ định nghĩa với các tên như <book>, <chapter>,... hay những thẻ mà muốn mô tả về xe máy. <br>Chúng ta cần thêm các thẻ để mô tả thông tin về xe máy.<br>Một file tài liệu XML có phần mở rộng là xml, ví dụ này ta đặt tên file là greeting.xml.<br>Ví dụ:<br><?xml version="1.0" encoding="UTF-8"?><br><document><br><greeting>Hello from XML</greeting><br><messages>Well come to XML</messages><br></document><br>1.3. Nội dung file XML<br>Bắt đầu bằng thẻ khai báo chỉ thị xử lý XML<br><?xml version="1.0" encoding="UTF-8"?><br>Các chỉ thị XML bắt đầu bằng <? và kết thúc bằng ?>. <br>Tiếp theo ta chỉ định:<br>XML hiện tài liệu sử dụng theo phiên bản 1.0 <br>Mã hóa ký tự theo UTF-8<br>Ta tạo ra thẻ mới mang tên <br><document><br>Có thể sử dụng bất kỳ tên gì để đặt tên thẻ. <br>Tên thẻ có thể bao gồm:<br>Ký tự ghạch chân (_)<br>Ký tự số, ví dụ 123 <br>Ký tự (a,b,c,…), <br>Dấu chấm, dấu ghách nối <br>Nhưng không được có khoảng trắng. <br>Thẻ luôn bắt đầu bằng < và kết thúc bằng ><br>Tài liệu XML được hình thành từ các phần tử XML. <br>Tương tự HTML bạn tạo phần tử XML khởi đầu. <br>Ví dụ <document> <br>Tiếp đến là dữ liệu của các phần tử nếu có: như dữ liệu văn bản hay các phần tử XML khác <br>Cuối cùng là thẻ đóng có tên trùng với thẻ mở. Thẻ đóng phải bắt đầu bằng </(ví>). <br>Cần có thẻ đóng và thẻ mở cho toàn bộ tài liệu, phần tử này gọi là phần tử gốc. <br>Ví dụ<br>DOCUMENT được xem là phần tử gốc<br><?xml version="1.0" encoding="UTF-8"?><br><document><br> ............... <br></document><br>Bên trong phần tử gốc ta thêm vào thành phần thẻ khác mang tên <greeting>. <br>Thẻ này có chứa dữ liệu sau phần tên thẻ. <br>Dữ liệu của thẻ là "Hello from XML". <br><?xml version="1.0" encoding="UTF-8"?><br><document><br><greeting>Hello from XML</greeting><br>.<br>.<br></document><br>Ta thực hiện thêm một thẻ mang tên <messages>, <br>Tên này do ta tự đặt. <br>Thẻ này cũng mang theo dữ liệu thể hiện là chuỗi văn bản như sau:<br><?xml version="1.0" encoding="UTF-8"?><br><document><br> <greeting>Hello from XML</greeting><br> <messages>Well come to XML</messages><br></document><br>1.4. Tài liệu XML hợp khuôn dạng (well-form)<br>Mặc dù bạn có thể đặt ra bao nhiêu thẻ cũng được, nhưng mỗi trang XML cần phải theo một số qui luật để được xem là Well-Formed. <br>Nếu một trang XML không Well-Formed thì coi như không sử dụng đuợc, không có chương trình xử lý nào sẽ làm việc với dữ liệu bên trong file đó. <br>Tài liệu XML cần phải theo các qui luật sau đây <br>Tài liệu XML phải bắt đầu bằng câu khai báo XML. <br><?xml version="1.0"?><br>Mỗi phần tử phải nằm giữa một cặp thẻ. <br><greeting>Hello from XML</greeting><br>Thẻ không chứa gì ở giữa thì phải kết thúc bằng "/>"<br><br/> hay <hr/>. <br>Một tài liệu XML phải có một thành phần duy nhất chứa tất cả các thành phần khác, đó gọi là phần tử gốc<br><document><br>Các cặp thẻ không được xen kẻ nhau<br><name>John Stanmore<address>25 King Street</name></ADDRESS><br>Tên thẻ có phân biệt chữ hoa chữ thường<br><document> khác với <document><br>1.5. Tài liệu XML hợp lệ (valid Document)<br>Một tài liệu XML được gọi là hợp lệ khi nó là tài liệu được kết hợp với định nghĩa kiểu tư liệu DTD (Document Type Definition) và tuân theo chuẩn DTD. <br>DTD có thể được chứa trong một file tách biệt hoặc chứa ngay trong chính tài liệu. <br>DTD sử dụng thẻ <!DOCTYPE>. <br>Ví dụ<br><?xml version="1.0" encoding="UTF-8"?><br><?xml-stylesheet type="text/css" href="greeting.css"?><br><!DOCTYPE DOCUMENT[<br><!ELEMENT DOCUMENT (GREETING,MESSAGE)><br><!ELEMENT GREETING (#PCDATA)><br><!ELEMENT MESSAGE (#PCDATA)><br>]><br><document><br>.<br>.<br></document><br>Nội dung file greeting.css:<br>GREETING{<br> display: block; <br> font-SIZE:36pt; <br> color:#FF000; <br> text-align:center<br>}<br>MESSAGES{<br> display: block; <br> font-SIZE:18pt; <br> color:#00000;<br>}<br>DTD chỉ định có hai thẻ <greeting>, <messages> được đặt nằm trong thẻ <document>. <br>Định nghĩa cho thấy <document> là phần tử gốc. <br><greeting>, <messages> là các phần tử mang theo văn bản. <br>Nội dung tài liệu greeting.xml khi hiển thị trên IE:<br>1.6. Tài nguyên và trình soạn thảo XML<br>Tài nguyên:<br>http://www.xml.com <br>http://www.w3c.org <br>http://www.microsoft.com/xml <br>http://developer.netscape.com/tech/metadata/index.html<br>http://www.software.ibm.com/xml<br>http://www.xmlrepository.com <br>Một số trình soạn thảo XML<br>Trình soạn thảo XML Notepad của Microsoft. Địa chỉ: <br>www.microsoft.com/XML/notepad.intro.asp <br>Trình soạn thảo XML Write. <br>Đây là phần mềm rất mạnh<br>Cho phép kiểm tra tính <br>Kiểm tra tính hợp khuôn dạng (well-formed)<br>Kiểm tra tính hợp lệ của định nghĩa DTD và lược đồ XML. <br>Địa chỉ:<br>www.xmlWriter.net.<br>1.7. 10 tiêu chí trong XML<br>XML được dùng để tạo cấu trúc dữ liệu<br>XML là một hệ thống các luật dùng cho việc thiết kế các định dạng cho văn bản giúp bạn tạo cấu trúc cho dữ liệu. <br>XML không phải là ngôn ngữ lập trình<br>XML giúp dễ dàng tạo dữ liệu, đọc dữ liệu và làm cho cấu trúc dữ liệu trở nên rõ ràng, dễ hiểu. <br>XML có thể mở rộng, có nền tảng hoàn toàn độc lập và hỗ trợ tính quốc tế hoá và nội địa hoá. <br>XML hỗ trợ hoàn toàn Unicode.<br>XML có một số điểm giống với HTML<br>XML có các thẻ và dùng thuộc tính giống HTML<br><body>, <br><br>name="MyName", width=8<br>HTML chú ý tới từng thẻ và thuộc tính, phần văn bản giữa các thẻ đó sẽ hiển thị như thế nào<br>XML sử dụng các thẻ để phân định ranh giới giữa các mẩu dữ liệu, việc đọc và xử lý dữ liệu hoàn toàn là nhiệm vụ của ứng dụng. <br>Trong HTML thẻ <p> ký hiệu của một đoạn, trong XML tùy thuộc vào văn cảnh có thẻ là giá (PRICE), một người (person),...<br>XML là một văn bản <br>Các tài liệu XML là những file văn bản được tạo ra không phải với mục đích để đọc<br>Trường hợp nếu cần thì vẫn có thể đọc được và trỉnh sửa. <br>Các tài liệu HTML: nếu viết nội dung không theo qui tắc vẫn hiển thị bình thường.<br>Các tài liệu XML: nếu viết nội dung không đúng qui tắc sẽ làm cho toàn bộ tài liệu XML đó ngừng hoạt động. <br>XML là một công nghệ thân thiện:<br>Trên XML 1.0 là một bộ các module cung cấp các dịch vụ hữu dụng: Xlink, XPointer, CSS, XSL, DOM<br>XML được sử dụng miễn phí, có platform độc lập và được hỗ trợ rất tốt<br>XML không cần phải mua bản quyền mới sử dụng được nên bạn có thể tạo cho mình một phần mềm riêng mà không phải trả một khoản chi phí nào hết.<br>XML không phải lúc nào cũng là giải pháp tốt nhất, nhưng nó luôn xứng đáng để người ta phải xem xét.<br></div> </div> </div> <div style="font-size:12px;">* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...</div> <hr> <div class="row"> <div class="ad-container"> </div> </div> <div class = 'clearfix'></div> <div class="row"> <div class="col-md-6 col-xs-12"> <div><b>Người chia sẻ</b>: <a href="#">Nguyễn Thị Thanh </a></div> <div><b>Dung lượng</b>: | <b>Lượt tài</b>: 3 </div> <div><b>Loại file</b>: </div> <div><b>Nguồn</b> : Chưa rõ </div> <div style="font-size:12px;">(Tài liệu chưa được thẩm định)</div> </div> <div class="col-md-6 col-xs-12"> <div class="btn-preview download-file-btn" style="width:150px;background:#f26c4f;margin:3px;" data-lesson-id = "5cc5f598831f1210308b565c"> <a data-href="https://thuviengiaovien.com/lesson/download/id/5cc5f598831f1210308b565c" href= "javascript:void(0)" style="color:#fff;" rel="nofollow"> <i class="fa fa-download" aria-hidden="true" style="font-size:20px;"></i> Tải tài liệu </a> </div> <div><a href="#">Báo cáo sai sót </a></div> <div><a href="#">Đề suất chỉnh sửa , phân lại mục</a> </div> </div> </div> </div> </div> </div> <div class="u-face-cm lazy"> <div class="fb-like" data-href="https://thuviengiaovien.com/xml-752848.html" data-layout="standard" data-action="like" data-show-faces="false" data-share="true" data-width="300"> </div> <div class="fb-comments" data-href="https://thuviengiaovien.com/xml-752848.html" data-width="100%" data-numposts="5" data-colorscheme="light"> </div> </div> </div> <div class="col-lg-4 col-md-4 col-sm-12 pdr-b hidden-xs"> <div class="u-learn-what"> <div class="alert alert-success" role="alert"> <h3>Thư Viện Giáo viên có gì ?!</h3> <hr style="margin:3px 0px;"> <div><i class="fa fa-check" aria-hidden="true"></i> Thư viện tài liệu giáo viên đủ các bậc học </div> <hr style="margin:3px 0px;"> <div><i class="fa fa-check" aria-hidden="true"></i> Tải và chia sẻ tài liệu miễn phí , lưu trữ không giới hạn ... </div> <hr style="margin:3px 0px;"> <div><i class="fa fa-check" aria-hidden="true"></i> Cộng đồng chia sẻ kinh nghiệm dạy học ... </div> <hr style="margin:3px 0px;"> <br /> <center><a class="unica-log-acc" href="/register">Tham gia thư viện > </a></center> </div> </div> <div class="u-learn-what"> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-4649191202673214" data-ad-slot="2171434249" data-ad-format="auto" data-full-width-responsive="true"></ins> <script>(adsbygoogle=window.adsbygoogle||[]).push({});</script> </div> </div> </div> </div> </div> <br /> </main> <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous"> <footer> <div id="footer2"> <div class="container"> <div class="row"> <div class="col-lg-2 col-md-2 col-sm-2 col-xs-6 pdr pdl" style="padding-top:20px;"> <span class="logo-footer"> <a class="navbar-brand" href="/"><img src="/images/logo/logo-tv-gv.png" width="100%"></a> </span> <!--<ul> <li> <i class="fa fa-map-marker" aria-hidden="true"></i> <a href="#">Mai Dịch Cầy Giấy Hà Nội </a> </li> </ul>--> </div> <div class="col-lg-2 col-md-2 col-sm-2 col-xs-6 pdr pdm des-unica"> <h4>Về chúng tôi </h4> <ul> <li><a href="/gioi-thieu">Giới thiệu</a></li> <li><a href="/faq">Câu hỏi thường gặp</a></li> <li><a href="/dieu-khoan-dich-vu.html">Điều khoản dịch vụ</a></li> <li><a href="/blog">Blog chia sẻ </a></li> </ul> </div> <div class="col-lg-2 col-md-2 col-sm-2 col-xs-6 pdr pdm des-unica"> <h4>Hoạt động</h4> <ul> <li><a href="/teacher">Đăng ký / Đăng nhập </a></li> <li><a href="#" target="_blank">Đăng ký hợp tác </a></li> </ul> </div> <div class="col-lg-2 col-md-2 col-sm-2 col-xs-6 pdr des-unica"> <h4>Liên kết hữu ích </h4> <ul> <li><a href="#">Dạy online </a></li> </ul> <span class="social-connect"> <p>Kết nối với </p> <ul> <li><a href="https://www.facebook.com/hoctaphay/" data-bg-color="#3B5998" style="background: rgb(59, 89, 152) !important;"><i class="fa fa-facebook"></i></a></li> <li><a href="# data-bg-color="#C22E2A" style="background: rgb(194, 46, 42) !important;"><i class="fa fa-youtube"></i></a></li> </ul> </span> </div> <div class="col-lg-4 col-md-4 col-sm-4 col-xs-12 pdr facebook-box"> <div class="fb-page fb_iframe_widget" data-href="https://www.facebook.com/hoctaphay/" data-small-header="false" data-adapt-container-width="true" data-hide-cover="false" data-show-facepile="true" fb-xfbml-state="rendered" fb-iframe-plugin-query="adapt_container_width=true&app_id=1639709859601244&container_width=137&hide_cover=false&href=https%3A%2F%2Fwww.facebook.com%2Funica.vn%2F&locale=vi_VN&sdk=joey&show_facepile=true&small_header=false"><span style="vertical-align: bottom; width: 180px; height: 230px;"></span></div> </div> </div> </div> </div> <div id="footer3"> <div class="container"> <div class="row"> <div class="col-lg-10 col-md-10 col-sm-10 col-xs-12"> <p>© Thư viện giáo viên - Chia sẻ phướng pháp, tài liệu dạy học trực tuyến </p> </div> <div class="col-lg-2 col-md-2 col-sm-2 col-xs-12"> -- </div> </div> </div> </div> </footer> <script type="text/javascript" src="/templates/default/new/js/jquery-3.2.1.min.js?ver=201904261832"></script> <script type="text/javascript" src="/templates/default/new/js/bootstrap.min.js?ver=201904261832"></script> <script type="text/javascript" src="/templates/default/new/js/slick.js?ver=201904261832"></script> <script type="text/javascript" src="/templates/default/new/js/bootstrap.offcanvas.js?ver=201904261832"></script> <script type="text/javascript" src="/templates/default/new/js/sidenav.min.js?ver=201904261832"></script> <script type="text/javascript" src="/templates/default/new/js/amazonmenu.js?ver=201904261832"></script> <script type="text/javascript" src="/templates/default/new/js/sticky-sidebar.js?ver=201904261832"></script> <script type="text/javascript" src="/js/ViewerJS/viewerjs.js?ver=201904261832"></script> <script type="text/javascript"> $.fn.isOverflowed = function(){ var e = this[0]; return e.scrollHeight > e.clientHeight || e.scrollWidth > e.clientWidth; }; </script> <script type="text/javascript"> <!-- $(document).ready(function() { $('.download-file-btn').click(function(){ var _this = $(this); if(_this.data('downloading') != true){ _this.data('downloading',true); _this.data('downloading-error',0); $(this).find('i').addClass('fa-spinner'); $(this).find('i').addClass('fa-spin'); var callback = function(result){ console.log(result); if(result.success == true){ _this.data('downloading',false); // _this.find('i').removeClass('fa-spinner'); // _this.find('i').removeClass('fa-spin'); window.location.href = result.href; }else{ var error = _this.data('downloading-error'); if(error < 3){ _this.data('downloading-error',error + 1); getDownloadUrl({ id : _this.data('lesson-id'), },callback); } } }; getDownloadUrl({ id : _this.data('lesson-id'), },callback); } }); }); function getDownloadUrl(options,callback){ $.ajax({ url : '/lesson/get-download-info', type : 'POST', data : options, success : function(result){ callback(result); }, error : function(){ callback({success : false}); } }); } (function () { function b(a, b) { var c = new XMLHttpRequest; c.onreadystatechange = function () { var a, f; 4 === c.readyState && ((200 <= c.status && 300 > c.status || 0 === c.status) && (a = c.getResponseHeader("content-type")) && q.some(function (b) { return b.supportsMimetype(a) ? (f = b, console.log("Found plugin by mimetype and xhr head: " + a), !0) : !1 }), b(f)) }; c.open("HEAD", a, !0); c.send() } function r(a) { var b; q.some(function (c) { return c.supportsFileExtension(a) ? (b = c, !0) : !1 }); return b } function f(a) { var b = r(a); b && console.log("Found plugin by parameter type: " + a); return b } function x(a) { a = a.split("?")[0].split(".").pop(); var b = r(a); b && console.log("Found plugin by file extension from path: " + a); return b } function s(a) { var b = {}; (a.search || "?").substr(1).split("&").forEach(function (a) { a && (a = a.split("=", 2), b[decodeURIComponent(a[0])] = decodeURIComponent(a[1])) }); return b } var k, q = [function () { var a = "application/vnd.oasis.opendocument.text application/vnd.oasis.opendocument.text-flat-xml application/vnd.oasis.opendocument.text-template application/vnd.oasis.opendocument.presentation application/vnd.oasis.opendocument.presentation-flat-xml application/vnd.oasis.opendocument.presentation-template application/vnd.oasis.opendocument.spreadsheet application/vnd.oasis.opendocument.spreadsheet-flat-xml application/vnd.oasis.opendocument.spreadsheet-template".split(" "), b = "odt fodt ott odp fodp otp ods fods ots".split(" "); return { supportsMimetype: function (b) { return -1 !== a.indexOf(b) }, supportsFileExtension: function (a) { return -1 !== b.indexOf(a) }, path: "./ODFViewerPlugin", getClass: function () { return ODFViewerPlugin } } } (), { supportsMimetype: function (a) { return "application/pdf" === a }, supportsFileExtension: function (a) { return "pdf" === a }, path: "./PDFViewerPlugin", getClass: function () { return PDFViewerPlugin } } ]; $(document).ready(function() { if($('#preview_url').length != 0 && $('#viewer').length != 0 ){ var a = $('#preview_url').val(), e = { 'title' : $('#preview_title').val() }, c; if(a != '' && a != undefined ){ a ? (e.title || (e.title = a.replace(/^.*[\\\/]/, "")), e.documentUrl = a, b(a, function (b) { b || (b = e.type ? f(e.type) : x(a)); b ? "undefined" !== String(typeof loadPlugin) ? loadPlugin(b.path, function () { c = b.getClass(); new Viewer(new c, e) }) : (c = b.getClass(), new Viewer(new c, e)) : new Viewer })) : new Viewer } } }); k = document.createElementNS(document.head.namespaceURI, "style"); k.setAttribute("media", "screen"); k.setAttribute("type", "text/css"); k.appendChild(document.createTextNode(viewer_css)); document.head.appendChild(k); k = document.createElementNS(document.head.namespaceURI, "style"); k.setAttribute("media", "only screen and (max-device-width: 800px) and (max-device-height: 800px)"); k.setAttribute("type", "text/css"); k.setAttribute("viewerTouch", "1"); k.appendChild(document.createTextNode(viewerTouch_css)); document.head.appendChild(k) })(); //--> </script> <script> $(document).ready(function () { $(".remove-navibar").click(function () { $("#js-bootstrap-offcanvas").trigger("offcanvas.toggle"); }); }); jQuery(function () { amazonmenu.init({ menuid: 'mysidebarmenu' }) }) resizeWindow(); window.addEventListener('resize', resizeWindow); function resizeWindow() { $('.slider').slick({ responsive: [{ breakpoint: 2500, settings: "unslick" }, { breakpoint: 640, settings: { dots: true, infinite: true } } ] }); } $('.u-blog-slide').slick({ infinite: true, slidesToShow: 1, slidesToScroll: 1, responsive: [{ breakpoint: 1025, settings: { slidesToShow: 1, slidesToScroll: 1, infinite: true } }, { breakpoint: 769, settings: { slidesToShow: 1, slidesToScroll: 1 } }, { breakpoint: 480, settings: { slidesToShow: 1, slidesToScroll: 1 } } ] }); </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','https://www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-114571019-15', 'auto'); ga('send', 'pageview'); </script> <div id="fb-root"></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/en_US/sdk.js#xfbml=1&version=v2.5&appId=292835638303077"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));</script> </html>