Quick viewing(Text Mode)

XML Matters: TEI -- the Text Encoding Initiative

XML Matters: TEI -- the Text Encoding Initiative

XML Matters: TEI -- the

Country/region [select] Terms of use

Home Products Services & solutions Support & downloads My account developerWorks > XML >

XML Matters: TEI -- the Text Encoding Initiative

An XML dialect for archival and complex documents Contents: Level: Introductory An example of what TEI can do Other advantages of TEI David Mertz, Ph.D. ([email protected]) Tools and TEI Encoder, Gnosis Software, Inc. 04 Sep 2003 Resources About the author Nowadays, XML is usually thought of as a markup technique utilized by programmers to encode Rate this article computer-oriented data. Even DocBook and similar document-oriented DTDs focus on preparation of technical documentation. However, the real roots of XML are in the SGML community, which is largely Related content: composed of publishers, archivists, librarians, and scholars. In this installment, David looks at Text Encoding reStructuredText Initiative, an XML schema devoted to the markup of literary and linguistic texts. TEI allows useful abstractions of typographic features of source documents, but in a manner that enables effective searching, indexing, Roundup of XML editors comparison, and print publication -- something not possible with publications archived as mere photographic images. Subscriptions: dW newsletters The Text Encoding Initiative (TEI) is a decade older than XML itself, and older than other common documentation encoding XML schemas like DocBook. Specifically, TEI was developed -- in initial SGML form -- in 1987, almost an dW Subscription eternity in Internet time. Despite its age, TEI works at a different level than any other markup format that I am aware of, (CDs and downloads) and remains the best solution to a certain class of problems.

Basically, TEI aims to encode all the semantically significant aspects of literary texts, both old ones that predate XML technology (or indeed, computers in general) and newly created ones. Certainly the words themselves are the most important semantic feature of prose or poetical texts. But throughout the history of print -- or of writing in general -- other typographic features have been added to texts to encode subsidiary aspects of their meaning. The use of presentation elements -- such as various types of emphasis, indentation and margins, tables, pagination, line breaks (as in verse), graphics, and decorations -- has enhanced, elaborated, or modified the meanings of the words in books, essays, pamphlets, flyers, bills, poems, liturgicals, and all the other forms literary works take.

Moreover, mere typographic features sometimes require an interpretive effort to fully decipher. As a trivial example, many books use italics to mark both foreign words and to mark the titles of other books. The semantic aspect of italicization depends on the verbal , but clearly authors usually use such marks with distinct intentions. TEI aims to allow the markup of texts in a way that distinguishes all such meaningful aspects.

TEI is not really just an XML schema, it is more like a whole family of schemas, related in their general goal but varying in details of the tags and attributes used. In part, these schemas differ in being supported by different DTDs (or RELAX NG schemas). For example, TEI-Lite is a greatly simplified form of TEI that aims to support "90% of the needs of 90% of the TEI user community" (according to the TEI Web site). And other specializations are available as well. But even apart from actual specializations or subsets of the full TEI tag set, most users will utilize only a few of the tags available in the TEI DTD they are using. Different documents demand different markup, and different projects allow differing degrees of granularity.

An example of what TEI can do is an effort to provide free versions of literary and historical works to a general audience. Thousands of titles have been transcribed and verified by the project's contributors. According to the "History and Philosophy" page on the Project Gutenberg site (see Resources), the goal is to produce texts in plain vanilla ASCII. For Project Gutenberg publications, any kind of emphasis is represented by capitalization, and paragraphs are divided with blank lines. While readers can reconstruct many conventional features of Project Gutenberg texts, TEI aims to mark these features explicitly. However, TEI is likely to be harder to read unless rendered in a prettified form through some tranformation tool. But simultaneously, TEI is much easier to process and analyze with automated tools.

For example, Project Gutenberg makes available Shakespeare's King Lear. A short portion of this delightful play is transcribed as:

Listing 1. Project Gutenberg version of King Lear

http://www-106.ibm.com/developerworks/library/x-matters30.html (1 of 4)6/20/2005 2:56:22 PM XML Matters: TEI -- the Text Encoding Initiative

Kent. Now by Apollo, king, Thou swear'st thy gods in vain.

Lear. O vassal! miscreant!

[Laying his hand on his sword.]

Alb. and Corn. Dear sir, forbear!

Kent. Do; Kill thy physician, and the fee bestow Upon the foul disease. Revoke thy gift, Or, whilst I can vent clamour from my throat, I'll tell thee thou dost evil.

A great deal of implicit semantic content could be added, using TEI. For example:

Listing 2. TEI version of King Lear Kent

Now by Apollo, king, Thou swear'st thy gods in vain.

Lear

O vassal! miscreant!

Laying his hand on his sword.

Alb. and Corn.

Dear sir, forbear!

Kent.

Do; Kill thy physician, and the fee bestow Upon the foul disease. Revoke thy gift, Or, whilst I can vent clamour from my throat, I'll tell thee thou dost evil.

This markup is the same as that suggested by David Seaman in the article on this topic (see Resources). However, this style is perhaps still not sufficiently semantically rich. The tag indicates a line break, which is simply a typographic feature that might be rendered in print. This is similar to HTML's
element, DocBook's , or LaTeX's \newline. But TEI can be more specific if you wish to consider the verse structure of Shakespeare. For example:

TEI King Lear with explicit meter Kent. Do; Kill thy physician, and the fee bestow Upon the foul disease. Revoke thy gift, Or, whilst I can vent clamour from my throat, I'll tell thee thou dost evil.

Here Kent's speech is described as a line group rather than simply as a paragraph. Moreover, each line is optionally qualified -- the first as metrically incomplete, the rest as metrically complete. Such qualification is optional, and other part attribute values exist.

The degree of descriptive specificity lets scholars answer literary questions by automated means. For example, "Which speakers in Shakespeare's plays tend to speak metrically incomplete lines (and how does that influence the intended perception of those characters)?" Working from a simple printed version or from a markup format -- either purely typographically-oriented like LaTeX or XSL-FO, or one at a coarse semantic level like DocBook or HTML (or plain vanilla ASCII) -- does nothing specifically to aid such research. TEI brings some automation to many areas of literary scholarship.

Additionally, from a document preparation perspective, you are free to utilize rich semantic marks -- or to ignore them -- as the publication requirements demand. As a somewhat simplistic example, think of those editions of the New Testament that mark all the speech directly attributed to Jesus in red ink. A TEI markup could simply indicate speakers, then such typographic issues could be decided as part of the print process; there would be no need for

http://www-106.ibm.com/developerworks/library/x-matters30.html (2 of 4)6/20/2005 2:56:22 PM XML Matters: TEI -- the Text Encoding Initiative something like an explicit color="red" attribute in the markup. Other works could be prepared using similar conventions for marking significant elements of the text.

Other advantages of TEI Obviously, most writing is not meter and poetry. But at every level, TEI offers varying degrees of typographic and semantic markup options. Understand here that the emphasis in TEI's typographic markup is not primarily focused on how a text should be rendered in future publication, but rather on how it was rendered in the past. For example, philosophical scholars who study Kant's Critique of Pure Reason refer frequently to the "A" and the "B" versions -- that is, Kant made a number of significant conceptual changes between his first and second edition. This convention is important enough that most editions of the Critique contain marginal notes indicating A and B page ranges (the two versions are now frequently included in the same publication as separate sections). The marginal notes refer to where given paragraphs occurred in the original (German) revisions; generally, the modern editions -- especially translated ones -- have quite different pagination than these first editions. TEI is probably the only markup convention in widespread use that suffices to properly annotate the Critique.

At an inline markup level, TEI allows for both typographic and semantic markup elements. For simple typographic notations, the tag can be used with the optional rend attribute. For example, indicates that a given word or phrase was or should be rendered in italics. But if it can be determined why a phrase was italicized (it is both unambiguous, and sufficient effort is available to analyze the text), you might choose to use a tag such as , <foreign>, or <emph>, which more specifically describe the reason why the author or publisher italicized the phrase. In addition, with the text so marked, you might decide, for example, to underline rather than italicize titles in a later edition. </p><p>The examples I have given only touch on the markup capabilities in TEI. TEI probably has more markup available than any one person can remember all at once. Fortunately, as I mentioned, TEI is generally designed to be usefully subsetted for specific tasks. For a certain goal or project, the best strategy is to decide in advance which few TEI tags you want to use. Developers, writers, or archivists can learn such a small subset with only a modest effort. </p><p>Tools and TEI In a general sense, any tool that can work with XML can work with TEI. DTDs are available for several TEI variations, as are XSLT stylesheets of various sorts. Naturally, customizations for working with TEI in Emacs, Framemaker, and MS-Word can be found at the TEI Web site. An XMetal customization is also downloadable. </p><p>An interesting online tool provided by the initiative lets you customize an XSLT stylesheet to produce just the HTML output you desire. A Web form lets you select a variety of options, then returns a stylesheet reflecting your customizations (see Resources). </p><p>A number of scripts and tools are available for conversion of TEI-formatted documents into documents that are closer to the final print output. In the main, these target either LaTeX or XSL-FO as an intermediate format. These are the usual command-line tool chains that text processing programmers are accustomed to. </p><p>One tool I have grown quite fond of is the Java-based XML editor, oXygen. I have reviewed this product in the past, and since then it has continued to get better. In addition to being one of the first XML editors to incorporate RELAX NG support, the newest version of oXygen now includes a nice set of TEI templates -- just select one, and oXygen creates a document skeleton (and assists you in validation and tag entry as you go along). But most impressive of all, the XSL-FO stylesheets that also come bundled just work. I was able to create a couple of nice looking <a href="/tags/PDF/" rel="tag">PDFs</a> out of my TEI tests without spending hours configuring tool chains and reading obscure how-tos. </p><p>Resources</p><p>● Participate in the discussion forum on this article. (You can also click Discuss at the top or bottom of the article to access the forum.) </p><p>● Visit the TEI home page for more information on the Text Encoding initiative. Within the site, you'll find a number of resources, including an interesting look at a Bare Bones subset of elements. </p><p>● The TEI software page offers links to software you can use to create, manage, and process TEI documents in SGML or XML. </p><p>● Take this tutorial on TEI Lite, which is slightly more complex than the Bare Bones TEI. </p><p>● Check out the extremely admirable Project Gutenberg, which has brought literary history to readers, free of charge and in electronic form, since 1971. A large collection of public domain literary works are available there, encoded as simple ASCII "etexts." One such work is Shakespeare's King Lear, which I use as an illustration in this column. </p><p>● Find out more about the history and philosophy of Project Gutenberg. </p><p>● Read David Seaman's helpful discussion of the King Lear example. </p><p>● Develop custom HTML outputs with the online XSL TEI HTML stylesheet parameterization tool. </p><p>● Check out the Java-based oXygen XML editor, which includes a nice set of TEI templates. </p><p>● Find more XML resources on the developerWorks XML zone. You'll find all previous installments of David's XML Matters column at the column </p><p> http://www-106.ibm.com/developerworks/library/x-matters30.html (3 of 4)6/20/2005 2:56:22 PM XML Matters: TEI -- the Text Encoding Initiative</p><p> summary page. </p><p>● IBM's DB2 database provides not only relational database storage, but also XML-related tools such as the DB2 XML Extender which provides a bridge between XML and relational systems. Visit the DB2 Developer Domain to learn more about DB2. </p><p>● Find out how you can become an IBM Certified Developer in XML and related technologies. </p><p>About the author David Mertz once led the desperate life of scholarship. David may be reached at mertz@gnosis.cx; his life pored over at http://gnosis.cx/dW/. Suggestions and recommendations on this, past, or future, columns are welcomed. Check out David's new book Text Processing in Python.</p><p>Rate this article</p><p>This content was helpful to me:</p><p>Strongly disagree (1) Disagree (2) Neutral (3) Agree (4) Strongly agree (5)</p><p>Send us your comments or click Discuss to share your comments with others. </p><p> developerWorks > XML > </p><p>About IBM Privacy Contact</p><p> http://www-106.ibm.com/developerworks/library/x-matters30.html (4 of 4)6/20/2005 2:56:22 PM</p> </article> </div> </div> <div class="sidebar"> <div class="panel panel-primary"> <div class="panel-heading">Top View</div> <div class="panel-body"> <ul class="top-view list-unstyled"> <li><a href="/doc/307958/oasis-response-to-nstc-request-for-feedback-on-standard-practices">OASIS Response to NSTC Request for Feedback on Standard Practices</a></li> <li><a href="/doc/337257/automated-software-system-for-checking-the-structure-and-format-of-acm-sig-documents">Automated Software System for Checking the Structure and Format of Acm Sig Documents</a></li> <li><a href="/doc/726219/json-application-programming-interface-for-discrete-event-simulation-data-exchange">JSON Application Programming Interface for Discrete Event Simulation Data Exchange</a></li> <li><a href="/doc/1043885/release-notes-for-the-docbook-xsl-stylesheets-i">Release Notes for the Docbook XSL Stylesheets I</a></li> <li><a href="/doc/1318875/docbook-to-xhtml-i">Docbook to XHTML I</a></li> <li><a href="/doc/1348843/markup-languages-and-tei-xml-encoding">Markup Languages and TEI XML Encoding</a></li> <li><a href="/doc/1421460/using-xml-for-long-term-preservation-subtitle-experiences-from-the-diva-project">Using XML for Long-Term Preservation Subtitle: Experiences from the Diva Project</a></li> <li><a href="/doc/1740459/the-docbook-publishers-schema-edited-by-scott-hudson-scott-hudson-flatironsflatirons-solutions-corporation">The Docbook Publishers Schema Edited by Scott Hudson Scott Hudson Flatironsflatirons Solutions Corporation</a></li> <li><a href="/doc/1775202/documenting-your-code-with-docbook">Documenting Your Code with Docbook</a></li> <li><a href="/doc/2039666/the-org-opendocument-text-exporter-manual">The Org/Opendocument Text Exporter Manual</a></li> <li><a href="/doc/2085040/opendocument-format-metadata-use-cases">Opendocument Format Metadata Use Cases</a></li> <li><a href="/doc/2145856/chapter-12-summary">Chapter 12 Summary</a></li> <li><a href="/doc/2156537/a-unified-model-for-text-markup-tei-docbook-and-beyond-file-tei-talks-2004-04-18-xmleurope-gca-x-html">A Unified Model for Text Markup: TEI, Docbook, and Beyond File:///TEI/Talks/2004-04-18-Xmleurope/Gca/X.Html</a></li> <li><a href="/doc/2414760/docbook-version-5-1-oasis-standard-22-november-2016">Docbook Version 5.1 OASIS Standard 22 November 2016</a></li> <li><a href="/doc/2822362/peridigm-users-guide">Peridigm Users Guide</a></li> <li><a href="/doc/3060374/docbook-vs-dita">Docbook Vs DITA</a></li> <li><a href="/doc/3151128/using-the-docbook-xsl-stylesheets">Using the Docbook XSL Stylesheets</a></li> <li><a href="/doc/3250166/20-years-with-docbook">20 Years with Docbook</a></li> <li><a href="/doc/3468950/xmlmind-xml-editor-support-of-docbook-5-1-assemblies">Xmlmind XML Editor - Support of Docbook 5.1 Assemblies</a></li> <li><a href="/doc/3499828/pandoc-cheat-sheet-by-jason-van-gumster">Pandoc Cheat Sheet by JASON VAN GUMSTER</a></li> <li><a href="/doc/3646167/opendocument-fellowship">Opendocument Fellowship</a></li> <li><a href="/doc/3684986/using-markdown-inside-tex-documents">Using Markdown Inside Tex Documents</a></li> <li><a href="/doc/3883270/2017-no-2-using-markdown-inside-tex-documents-v%C3%ADt-novotn%C3%BD">(2017), No. 2 Using Markdown Inside TEX Documents Vít Novotný</a></li> <li><a href="/doc/4504860/pb138-docbook-markup">PB138 — Docbook Markup</a></li> <li><a href="/doc/4586405/writing-documentation-using-docbook">Writing Documentation Using Docbook</a></li> <li><a href="/doc/4715090/view-preprint">View Preprint</a></li> <li><a href="/doc/4827941/xmlmind-xml-editor-docbook-support">Xmlmind XML Editor - Docbook Support</a></li> <li><a href="/doc/5006102/pandoc-users-guide-john-macfarlane-pandoc-users-guide-john-macfarlane-inhaltsverzeichnis">Pandoc User's Guide John Macfarlane Pandoc User's Guide John Macfarlane Inhaltsverzeichnis</a></li> <li><a href="/doc/5184857/technical-topologies-of-texts-digital-studies-le-champ-num%C3%A9rique-11-1-1-pp">Technical Topologies of Texts.” Digital Studies/Le Champ Numérique 11(1): 1, Pp</a></li> <li><a href="/doc/5390746/tei-publisher-documentation-introduction">TEI Publisher Documentation Introduction</a></li> <li><a href="/doc/5563951/docbook-from-syntax-to-publication-norman-walsh-sun-microsystems-inc">Docbook: from Syntax to Publication Norman Walsh Sun Microsystems, Inc</a></li> <li><a href="/doc/5569871/about-docbook-prof">About Docbook Prof</a></li> <li><a href="/doc/5781289/lessons-in-electric-circuits-volume-ii">"Lessons in Electric Circuits, Volume II</a></li> <li><a href="/doc/6055315/misconceptions-of-the">Misconceptions of The</a></li> <li><a href="/doc/6061346/open-source-open-standards-opendocument-copyright">Open Source, Open Standards, Opendocument Copyright</a></li> <li><a href="/doc/6074042/xml-matters-tei-the-text-encoding-initiative">XML Matters: TEI -- the Text Encoding Initiative</a></li> <li><a href="/doc/6116406/tei-by-example">Tei by Example</a></li> <li><a href="/doc/6593122/office-open-xml-overview">Office Open Xml Overview</a></li> <li><a href="/doc/6702299/how-to-create-an-internet-draft-using-xml-or-markdown">How to Create an Internet-Draft Using XML Or Markdown</a></li> <li><a href="/doc/6739763/documentation-with-doxygen-and-docbook">Documentation with Doxygen and Docbook</a></li> <li><a href="/doc/6850599/introduction-to-mallard">Introduction to Mallard</a></li> <li><a href="/doc/6872790/docbook-version-5-1">Docbook Version 5.1</a></li> <li><a href="/doc/6916464/xml-prague-2015">XML Prague 2015</a></li> <li><a href="/doc/7653190/publican-4-3-users-guide">Publican 4.3 Users' Guide</a></li> <li><a href="/doc/7883841/markup-languages-and-the-terminal-power-at-your-fingertips">Markup Languages and the Terminal—Power at Your Fingertips</a></li> <li><a href="/doc/8003570/upfront-xhtml-for-workflow-not-just-the-web">UPFRONT XHTML: for Workflow, Not Just the Web</a></li> <li><a href="/doc/8160449/docbook-to-man-python-zope-security-python-zope-location-0">Docbook-To-Man Python-Zope.Security Python-Zope.Location 0</a></li> <li><a href="/doc/8672906/data-models-for-interactive-web-based-textbooks-investigating-how-well-docbook-5-0-supports-interactive-and-multimedia-content">Data Models for Interactive Web Based Textbooks Investigating How Well Docbook 5.0 Supports Interactive and Multimedia Content</a></li> <li><a href="/doc/9096664/fixing-on-a-standard-language-for-unix-manuals-19-of-common-word-processing-formats-such-as-the-open-document-format-and-rich-text-format-are-similarly-unreasonable">Fixing on a Standard Language for UNIX Manuals 19 of Common Word-Processing Formats, Such As the Open Document Format and Rich Text Format, Are Similarly Unreasonable</a></li> <li><a href="/doc/9269914/pb138-docbook-markup">PB138 — Docbook Markup</a></li> <li><a href="/doc/9476450/writing-documentation-using-docbook">Writing Documentation Using Docbook</a></li> <li><a href="/doc/9481086/the-docbook-document-type-oasis-standard-v4-5-01-october-2006">The Docbook Document Type OASIS Standard V4.5, 01 October 2006</a></li> <li><a href="/doc/9533223/the-docbook-mathml-document-type-working-draft-1-1cr1-27-jul-2004">The Docbook Mathml Document Type Working Draft 1.1CR1, 27 Jul 2004</a></li> <li><a href="/doc/9632484/digital-imaging-and-communications-in-medicine-dicom">Digital Imaging and Communications in Medicine (DICOM)</a></li> <li><a href="/doc/9689512/jpos-programmers-guide">Jpos Programmer's Guide</a></li> <li><a href="/doc/10106716/appendix-b-open-source-open-standards-opendocument-copyright">Appendix B Open Source, Open Standards, Opendocument Copyright</a></li> <li><a href="/doc/10153679/users-guide-pdf">User's Guide (PDF)</a></li> <li><a href="/doc/10241641/xml-for-the-masses-an-open-office-xml-file-format">XML for the Masses an Open Office XML File Format</a></li> <li><a href="/doc/10325699/tei-publisher-documentation">TEI Publisher Documentation</a></li> <li><a href="/doc/10680451/html5-as-an-alternative-to-dita-and-docbook">HTML5 As an Alternative to DITA and Docbook</a></li> <li><a href="/doc/10760067/using-pandoc-with-docbook-peter-lavin-2014-05-20">Using Pandoc with Docbook Peter Lavin 2014-05-20</a></li> <li><a href="/doc/11092229/the-docbook-schema-version-5-1-1-committee-specification-draft-01-09-june-2021">The Docbook Schema Version 5.1.1 Committee Specification Draft 01 09 June 2021</a></li> <li><a href="/doc/11191210/a-proposal-for-an-opendocument-developers-kit">A Proposal for an Opendocument Developers Kit</a></li> <li><a href="/doc/11368329/sgi-synaptiq-administrators-guide">SGI™ Synaptiq™ Administrator's Guide</a></li> <li><a href="/doc/11414747/getting-started-with-openoffice-org-3-3-copyright-this-document-is-copyright-%C2%A9-2005-2010-by-its-contributors-as-listed-below">Getting Started with Openoffice.Org 3.3 Copyright This Document Is Copyright © 2005–2010 by Its Contributors As Listed Below</a></li> <li><a href="/doc/12041324/xml-and-content-management">XML and Content Management</a></li> <li><a href="/doc/12079119/really-quick-guide-to-docbook-ferry-boender">Really Quick Guide to Docbook Ferry Boender</a></li> <li><a href="/doc/12137602/oasis-integrating-standards-for-web-services-business-processes">OASIS: Integrating Standards for Web Services, Business Processes</a></li> <li><a href="/doc/12251633/docbook-v5-0-the-transition-guide-16-june-2009">Docbook V5.0 the Transition Guide 16 June 2009</a></li> <li><a href="/doc/12465155/practical-workflow-technical-documentation">Practical Workflow Technical Documentation</a></li> <li><a href="/doc/12479467/teaching-document-production-and-management-with-docbook">Teaching Document Production and Management with Docbook</a></li> <li><a href="/doc/12937767/oasis-open-office-xml-document-format-michael-brauer-technical-architect-sun-microsystems-gmbh-about-the-speaker">OASIS Open Office XML Document Format Michael Brauer Technical Architect Sun Microsystems Gmbh About the Speaker</a></li> <li><a href="/doc/13274163/the-docbook-document-type-committee-specification-v4-5-02-june-2006">The Docbook Document Type Committee Specification V4.5, 02 June 2006</a></li> <li><a href="/doc/13367795/docbook-framework-dbf-the-apache-velocity-developers">Docbook Framework (DBF) the Apache Velocity Developers</a></li> <li><a href="/doc/13397751/introduction-to-yaml">Introduction to YAML</a></li> <li><a href="/doc/13413918/moving-root-documentation-from-docbook-to-markdown">Moving ROOT Documentation from Docbook to Markdown</a></li> <li><a href="/doc/13520334/data-formats">Data Formats</a></li> <li><a href="/doc/13523701/a-unified-model-for-text-markup-tei-docbook-and-beyond">A Unified Model for Text Markup: TEI, Docbook, and Beyond</a></li> </ul> </div> <div class="adcenter"> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-8519364510543070" data-ad-slot="2975948327" data-ad-format="auto" data-full-width-responsive="true"></ins> <script>(adsbygoogle = window.adsbygoogle || []).push({});</script> </div> </div> </div> </div> <script type="text/javascript"> var s =1; if (s==1) { $("body").removeClass("reading-mode"); $(".viewer").css("height", "auto"); } else { $("body").addClass("reading-mode"); } </script> <script src='//platform-api.sharethis.com/js/sharethis.js#property=5abe65211243c10013440c77&product=sticky-share-buttons' async='async'></script> <footer> <div class="container-fluid text-center"> <a href="#Top" data-toggle="tooltip" title="TO TOP"> <span class="glyphicon glyphicon-chevron-up"></span> </a><br><br><span> © 2022 Docslib.org </span> <ul class="visible-lg-inline"> <li><a href="/contact">Contact Us</a></li> </ul> </div> <!-- Default Statcounter code for Docslib.org https://www.docslib.org --> <script> var sc_project = 11552861; var sc_invisible = 1; var sc_security = "b956b151"; </script> <script src="https://www.statcounter.com/counter/counter.js" async></script> <noscript><div class="statcounter"><a title="Web Analytics" href="http://statcounter.com/" target="_blank"><img class="statcounter" src="//c.statcounter.com/11552861/0/b956b151/1/" alt="Web Analytics"></a></div></noscript> <!-- End of Statcounter Code --> </footer> <script src="https://stackpath.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> </body> </html><script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>