DocBook is a general purpose XML and SGML document type particularly well suited to books and papers about computer hardware and software (though it is by no means limited to these applications).
For sample code, Please see http://github.com/viswanath7/DocBook4.5/archives/master
DocBook XML is a structured future-proof content for publishers.
DocBook allows an author to concentrate on the organisation and meaning of the document, in order to ensure all documents have consistent appearance irrespective of the technical writer.
DocBook V5.0 is a test release at the time of writing this presentation.
XML catalog to locate the DTD With an XML catalog, you can have the best of both local and network access. The catalog lets you map the standard network URL to a local file. If the catalog processor finds the local file during processing, it will use it. Otherwise, it falls back to using the network URL. With this arrangement, you get the speed of local access with the reliability and portability of network access. An XML catalog entry looks like the following: <catalog xmlns=&quot;urn:oasis:names:tc:entity:xmlns:xml:catalog&quot;> <group id=&quot;DocbookDTD&quot; prefer=&quot;public&quot;> <system systemId=&quot;http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd&quot; uri=&quot;file:///usr/share/xml/docbook45/docbookx.dtd&quot;/> </group> </catalog>
It doesn’t use an XML syntax and, as far as I know, it’s not an easy language.
Some authoring tools (like Adobe FrameMaker) provide ways to hide character entities form the author. Special characters are entered through its dedicated interface.
Remark RM : Why should I use a DocBook Package? Answer : You don’t have to but it is still good to know that such a thing exists.
Other root elements are also possible. The system identifier following the public identifier is just a backup in case the application can’t resolve the public identifier. In my opinion slide 32 to 39 should be recreated. Its better to first mention that you can have an external or an internal DOCTYPE declaration and explain the difference between them and tell that combinations are possible. After that you can say that you have PUBLIC and SYSTEM DOCTYPE declarations and explain when to use the public and system identifiers. I believe the information would be transferred to the audience in a more logical way.
The syntax: <!DOCTYPE root-element PUBLIC “ public identifier” “system identifier”> <!DOCTYPE root-element SYSTEM “system identifier”> Depending on the use of the public identifier the token ‘PUBLIC’ or ‘SYSTEM’ should be used.
The prefix is either a “+” or a “-” Registered public identifiers begin with “+”; unregistered identifiers begin with “-”. owner-identifier identifies the person or organization that owns the identifier. Registration guarantees a unique owner identifier The text class identifies the kind of document that is associated with this public identifier like DOCUMENT, DTD, ELEMENTS, ENTITIES, NONSGML text-description field provides a description of the document language indicates the language in which the document is written. ISO standard's two-letter language code is used if possible display-version distinguishes between public texts that are the same except for the display device or system to which they apply.
PUBLIC The PUBLIC keyword maps public identifiers to system identifiers: <public publicId=&quot;-//OASIS//DTD DocBook XML V4.5//EN&quot; uri=&quot;docbookx.dtd&quot;/> SYSTEM The SYSTEM keyword maps system identifiers to system identifiers: <system systemId=&quot;http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd&quot; uri=&quot;docbookx.dtd&quot;/> <system systemId=&quot;http://docbook.org/xml/4.5/docbookx.dtd&quot; uri=&quot;docbookx.dtd&quot;/> OVERRIDE The OVERRIDE keyword indicates whether or not public identifiers override system identifiers. If a given declaration includes both a system identifer and a public identifier, most systems attempt to process the document referenced by the system identifier, and consequently ignore the public identifier. Specifying ‘OVERRIDE YES’ in the catalog informs the processing system that resolution should be attempted first with the public identifier. CATALOG The CATALOG keyword allows one catalog to include the content of another. DOCTYPE The DOCTYPE keyword allows you to specify a default system identifier
Entities help to reduce the entry of repetitive information and also allow for easier editing. There are two types of entity declarations: GENERAL entity declarations, and PARAMETER entity declarations. INTERNAL GENERAL ENTITY Declaration: Refer to data that an XML processor has to parse Syntax : <!ENTITY name &quot;entity_value&quot;> Example : <?xml version=&quot;1.0&quot; standalone=&quot;yes&quot; ?> <!DOCTYPE author [ <!ELEMENT author (#PCDATA)> <!ENTITY js &quot;Jo Smith&quot;> ]> <author>&js;</author> EXTERNAL (PARSED) GENERAL ENTITY Declaration: They are useful for creating a common reference that can be shared between multiple documents. There are two types of external entities: Private - Identified by the keyword SYSTEM and are intended for use by a single author or group of authors Syntax : <!ENTITY name SYSTEM &quot;URI&quot;> Example : <?xml version=&quot;1.0&quot; standalone=&quot;no&quot; ?> <!DOCTYPE copyright [ <!ELEMENT copyright (#PCDATA)> <!ENTITY c SYSTEM &quot;http://www.xmlwriter.net/copyright.xml&quot;> ]> <copyright>&c;</copyright> Public - Identified by the keyword PUBLIC and are intended for broad use. Syntax : <!ENTITY name PUBLIC &quot;public_ID&quot; &quot;URI&quot;> Example : <?xml version=&quot;1.0&quot; standalone=&quot;no&quot; ?> <!DOCTYPE copyright [ <!ELEMENT copyright (#PCDATA)> <!ENTITY c PUBLIC &quot;-//W3C//TEXT copyright//EN&quot; &quot;http://www.w3.org/xmlspec/copyright.xml&quot;> ]> <copyright>&c;</copyright> EXTERNAL (UNPARSED) GENERAL ENTITY Declaration: Refer to data that an XML processor does not have to parse. Syntax : <!ENTITY name SYSTEM &quot;URI&quot; NDATA name> <!ENTITY name PUBLIC &quot;public_ID&quot; &quot;URI&quot; NDATA name> Example : <?xml version=&quot;1.0&quot; standalone=&quot;no&quot; ?> <!DOCTYPE img [ <!ELEMENT img EMPTY> <!ATTLIST img src ENTITY #REQUIRED> <!ENTITY logo SYSTEM &quot;http://www.xmlwriter.net/logo.gif&quot; NDATA gif> <!NOTATION gif PUBLIC &quot;gif viewer&quot;> ]> <img src=&quot;logo&quot;/> The PARAMETER ENTITY Declaration (not be used within mark-up in an internal DTD ) has following two types, INTERNAL - used to declare entities existing only in the DTD Syntax : <!ENTITY % name &quot;entity_value&quot;> Example : <!--external DTD example--> <!ELEMENT author (#PCDATA)> <!ENTITY % js &quot;Jo Smith&quot;> <!--note that the general entity statement below is used to reference a parameter entity--> <!ENTITY wb &quot;written by %js;&quot;> EXTERNAL - used to link external DTDs. Again, there are two types of external entities: private, and public. Syntax : <!ENTITY % name SYSTEM &quot;URI&quot;> %name; <!ENTITY % name PUBLIC &quot;public_ID&quot; &quot;URI&quot;> %name; Example : <?xml version=&quot;1.0&quot; standalone=&quot;no&quot;?> <!DOCTYPE student [ <!ENTITY % student SYSTEM &quot;http://www.university.com/student.dtd&quot;> %student; ]>
The DocBook definition of a book is very loose and general. Given the number of different conventions for book organisation used in various countries, attempting to impose a strict ordering of elements can make the content model extremely complex. Therefore, DocBook provides a free reign. It's common to use a local customisation layer to impose a more strict ordering for applications.
What is important is that you choose to mark up not every possible item, but only those for which distinctive tagging will be useful in the production of the finished document for the readers who will search through it.
If you try to use xref or link to cross reference to another file module, then your mini document is no longer valid. That is because those elements use an IDREF-type attribute to form the link, and the ID it points, must reside in the same document. They will be together when you assemble your modules into a larger document, but the individual mini documents will be incomplete. When you try to open such a module in a structured editor, it will complain that the document is not valid.
The value of href attribute in an XInclude can be an absolute path a relative path (taken as relative to the document that contains the XInclude element) an HTTP URL that accesses a web server or any other URI. Also, it can be mapped with XML catalog entries.
In theory you would be able to create a loop. Note : A document's root element can be an XInclude element. In that case, there should be only one such occurrence, since a well-formed document can only have a single root element. Likewise, the included content must resolve to a single element, with its children.
For selections based on id, the included document must have a DOCTYPE declaration that correctly points to the DocBook DTD. If the file does not have the DOCTYPE or if the DTD cannot be opened, then such references will not resolve. Note : When you omit the href attribute, and add an xpointer attribute, it is interpreted as selecting from the current document. One cannot select the entire document or that part of the document which has the XInclude element, because that would be a circular reference. Also, you don’t want to repeat content that has id attributes, as duplicate id values are invalid.
Note : The fallback content must be equally valid when inserted into the document for it to work.
Question RM : Do you also need Olink to make a link to a location in a file which is included in the file containing the Olink by XInclude? Remark RM : Perhaps you could make this process much clearer by illustrating it step by step.
Generally, the HTML files for multiple documents are output to different directories, particularly if chunks are used. Therefore one must decide the names and arrangement of the HTML output directories for all the documents in collection as a preliminary step. It is only the relative location that counts; the top level name is not used because the style-sheet computes the relative path for cross reference URLs using the relative locations. Chunking - It is the process of splitting the output for a large document into several HTML files. The individual output files are called chunks . The results are a coherent set of linked files, with a title page containing a table of contents as the starting point for browsing the set.
“ Only ” generates the target data file, but does not process the document for output. Use the option “ yes ” to also continue to process the document for output. When master target database document is processed, the content of the target.db file is assimilated into its proper location in the hierarchy using its system entity reference, thus forming the complete cross reference database. The use of system entities permits the individual target.db data files for each document to be updated as needed, and the database automatically gets the update the next time it is processed. If the DocBook chunking feature is used, then it would be the path to chunk.xsl instead.
target.database.document - provides the location of the master target database file. As the document is processed and when the style sheet encounters an olink that has targetdoc and targetptr attributes, it looks up the values in the target database and resolves the reference. If it cannot open the database or find a particular olink reference, then it reports an error. current.docid informs the processor of the current document's targetdoc identifier. Sometimes, current document's identifier is not recorded in the document itself, so the processor must be told of it by using this parameter. current.docid parameter can be automatically set if the id attribute of the document's root element is assigned the targetdoc value. This is accomplished by adding the following to customisation layer. <xsl:param name=&quot;current.docid&quot; select=&quot;/*/@id&quot;/>
Question RM : So this is a m * n relation?
Most are familiar with the term 'Web content management system'; which is a software used to manage and control a dynamic collection of web material. Primarily, maintenance tool designed to serve non-technical administrators; for a web-site that will constantly have new content (like products or company news) added /updated to it.
Compound document - A single document that contains a combination of data structures such as text, graphics, spreadsheets, sound and video clips. The document may embed the additional data types or reference external files by pointers of some kind. SGML and HTML are examples of compound document formats.
Most of us are familiar with the term 'Web content management system'; which is a software used to manage and control a dynamic collection of web material. Primarily, maintenance tool designed to serve non-technical administrators; for a web-site that will constantly have new content (like products or company news) added /updated to it.