Commit f25aad9e authored by Martin Waitz's avatar Martin Waitz Committed by Linus Torvalds

[PATCH] docbook: convert template files to XML

Convert template files to XML
Signed-off-by: default avatarMartin Waitz <tali@admingilde.org>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 54314729
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN"[]> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []>
<book id="DoingIO"> <book id="DoingIO">
<bookinfo> <bookinfo>
......
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN"[]> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []>
<book id="USB-Gadget-API"> <book id="USB-Gadget-API">
<bookinfo> <bookinfo>
<title>USB Gadget API for Linux</title> <title>USB Gadget API for Linux</title>
......
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN"[]> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []>
<book id="LinuxJBDAPI"> <book id="LinuxJBDAPI">
<bookinfo> <bookinfo>
<title>The Linux Journalling API</title> <title>The Linux Journalling API</title>
......
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN"[]> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []>
<book id="LinuxKernelAPI"> <book id="LinuxKernelAPI">
<bookinfo> <bookinfo>
<title>The Linux Kernel API</title> <title>The Linux Kernel API</title>
......
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN"[]> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []>
<book id="lk-hacking-guide"> <book id="lk-hacking-guide">
<bookinfo> <bookinfo>
......
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN"[]> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []>
<book id="LKLockingGuide"> <book id="LKLockingGuide">
<bookinfo> <bookinfo>
...@@ -236,12 +238,12 @@ ...@@ -236,12 +238,12 @@
your task will put itself on the queue, and be woken up when the your task will put itself on the queue, and be woken up when the
semaphore is released. This means the CPU will do something semaphore is released. This means the CPU will do something
else while you are waiting, but there are many cases when you else while you are waiting, but there are many cases when you
simply can't sleep (see <xref linkend="sleeping-things">), and so simply can't sleep (see <xref linkend="sleeping-things"/>), and so
have to use a spinlock instead. have to use a spinlock instead.
</para> </para>
<para> <para>
Neither type of lock is recursive: see Neither type of lock is recursive: see
<xref linkend="deadlock">. <xref linkend="deadlock"/>.
</para> </para>
</sect1> </sect1>
...@@ -326,7 +328,7 @@ ...@@ -326,7 +328,7 @@
<para> <para>
Note that you can also use <function>spin_lock_irq()</function> Note that you can also use <function>spin_lock_irq()</function>
or <function>spin_lock_irqsave()</function> here, which stop or <function>spin_lock_irqsave()</function> here, which stop
hardware interrupts as well: see <xref linkend="hardirq-context">. hardware interrupts as well: see <xref linkend="hardirq-context"/>.
</para> </para>
<para> <para>
...@@ -403,7 +405,7 @@ ...@@ -403,7 +405,7 @@
<para> <para>
The same softirq can run on the other CPUs: you can use a The same softirq can run on the other CPUs: you can use a
per-CPU array (see <xref linkend="per-cpu">) for better per-CPU array (see <xref linkend="per-cpu"/>) for better
performance. If you're going so far as to use a softirq, performance. If you're going so far as to use a softirq,
you probably care about scalable performance enough you probably care about scalable performance enough
to justify the extra complexity. to justify the extra complexity.
...@@ -545,120 +547,120 @@ ...@@ -545,120 +547,120 @@
</para> </para>
<table> <table>
<title>Table of Locking Requirements</title> <title>Table of Locking Requirements</title>
<TGROUP COLS="11"> <tgroup cols="11">
<TBODY> <tbody>
<ROW> <row>
<ENTRY></ENTRY> <entry></entry>
<ENTRY>IRQ Handler A</ENTRY> <entry>IRQ Handler A</entry>
<ENTRY>IRQ Handler B</ENTRY> <entry>IRQ Handler B</entry>
<ENTRY>Softirq A</ENTRY> <entry>Softirq A</entry>
<ENTRY>Softirq B</ENTRY> <entry>Softirq B</entry>
<ENTRY>Tasklet A</ENTRY> <entry>Tasklet A</entry>
<ENTRY>Tasklet B</ENTRY> <entry>Tasklet B</entry>
<ENTRY>Timer A</ENTRY> <entry>Timer A</entry>
<ENTRY>Timer B</ENTRY> <entry>Timer B</entry>
<ENTRY>User Context A</ENTRY> <entry>User Context A</entry>
<ENTRY>User Context B</ENTRY> <entry>User Context B</entry>
</ROW> </row>
<ROW> <row>
<ENTRY>IRQ Handler A</ENTRY> <entry>IRQ Handler A</entry>
<ENTRY>None</ENTRY> <entry>None</entry>
</ROW> </row>
<ROW> <row>
<ENTRY>IRQ Handler B</ENTRY> <entry>IRQ Handler B</entry>
<ENTRY>spin_lock_irqsave</ENTRY> <entry>spin_lock_irqsave</entry>
<ENTRY>None</ENTRY> <entry>None</entry>
</ROW> </row>
<ROW> <row>
<ENTRY>Softirq A</ENTRY> <entry>Softirq A</entry>
<ENTRY>spin_lock_irq</ENTRY> <entry>spin_lock_irq</entry>
<ENTRY>spin_lock_irq</ENTRY> <entry>spin_lock_irq</entry>
<ENTRY>spin_lock</ENTRY> <entry>spin_lock</entry>
</ROW> </row>
<ROW> <row>
<ENTRY>Softirq B</ENTRY> <entry>Softirq B</entry>
<ENTRY>spin_lock_irq</ENTRY> <entry>spin_lock_irq</entry>
<ENTRY>spin_lock_irq</ENTRY> <entry>spin_lock_irq</entry>
<ENTRY>spin_lock</ENTRY> <entry>spin_lock</entry>
<ENTRY>spin_lock</ENTRY> <entry>spin_lock</entry>
</ROW> </row>
<ROW> <row>
<ENTRY>Tasklet A</ENTRY> <entry>Tasklet A</entry>
<ENTRY>spin_lock_irq</ENTRY> <entry>spin_lock_irq</entry>
<ENTRY>spin_lock_irq</ENTRY> <entry>spin_lock_irq</entry>
<ENTRY>spin_lock</ENTRY> <entry>spin_lock</entry>
<ENTRY>spin_lock</ENTRY> <entry>spin_lock</entry>
<ENTRY>None</ENTRY> <entry>None</entry>
</ROW> </row>
<ROW> <row>
<ENTRY>Tasklet B</ENTRY> <entry>Tasklet B</entry>
<ENTRY>spin_lock_irq</ENTRY> <entry>spin_lock_irq</entry>
<ENTRY>spin_lock_irq</ENTRY> <entry>spin_lock_irq</entry>
<ENTRY>spin_lock</ENTRY> <entry>spin_lock</entry>
<ENTRY>spin_lock</ENTRY> <entry>spin_lock</entry>
<ENTRY>spin_lock</ENTRY> <entry>spin_lock</entry>
<ENTRY>None</ENTRY> <entry>None</entry>
</ROW> </row>
<ROW> <row>
<ENTRY>Timer A</ENTRY> <entry>Timer A</entry>
<ENTRY>spin_lock_irq</ENTRY> <entry>spin_lock_irq</entry>
<ENTRY>spin_lock_irq</ENTRY> <entry>spin_lock_irq</entry>
<ENTRY>spin_lock</ENTRY> <entry>spin_lock</entry>
<ENTRY>spin_lock</ENTRY> <entry>spin_lock</entry>
<ENTRY>spin_lock</ENTRY> <entry>spin_lock</entry>
<ENTRY>spin_lock</ENTRY> <entry>spin_lock</entry>
<ENTRY>None</ENTRY> <entry>None</entry>
</ROW> </row>
<ROW> <row>
<ENTRY>Timer B</ENTRY> <entry>Timer B</entry>
<ENTRY>spin_lock_irq</ENTRY> <entry>spin_lock_irq</entry>
<ENTRY>spin_lock_irq</ENTRY> <entry>spin_lock_irq</entry>
<ENTRY>spin_lock</ENTRY> <entry>spin_lock</entry>
<ENTRY>spin_lock</ENTRY> <entry>spin_lock</entry>
<ENTRY>spin_lock</ENTRY> <entry>spin_lock</entry>
<ENTRY>spin_lock</ENTRY> <entry>spin_lock</entry>
<ENTRY>spin_lock</ENTRY> <entry>spin_lock</entry>
<ENTRY>None</ENTRY> <entry>None</entry>
</ROW> </row>
<ROW> <row>
<ENTRY>User Context A</ENTRY> <entry>User Context A</entry>
<ENTRY>spin_lock_irq</ENTRY> <entry>spin_lock_irq</entry>
<ENTRY>spin_lock_irq</ENTRY> <entry>spin_lock_irq</entry>
<ENTRY>spin_lock_bh</ENTRY> <entry>spin_lock_bh</entry>
<ENTRY>spin_lock_bh</ENTRY> <entry>spin_lock_bh</entry>
<ENTRY>spin_lock_bh</ENTRY> <entry>spin_lock_bh</entry>
<ENTRY>spin_lock_bh</ENTRY> <entry>spin_lock_bh</entry>
<ENTRY>spin_lock_bh</ENTRY> <entry>spin_lock_bh</entry>
<ENTRY>spin_lock_bh</ENTRY> <entry>spin_lock_bh</entry>
<ENTRY>None</ENTRY> <entry>None</entry>
</ROW> </row>
<ROW> <row>
<ENTRY>User Context B</ENTRY> <entry>User Context B</entry>
<ENTRY>spin_lock_irq</ENTRY> <entry>spin_lock_irq</entry>
<ENTRY>spin_lock_irq</ENTRY> <entry>spin_lock_irq</entry>
<ENTRY>spin_lock_bh</ENTRY> <entry>spin_lock_bh</entry>
<ENTRY>spin_lock_bh</ENTRY> <entry>spin_lock_bh</entry>
<ENTRY>spin_lock_bh</ENTRY> <entry>spin_lock_bh</entry>
<ENTRY>spin_lock_bh</ENTRY> <entry>spin_lock_bh</entry>
<ENTRY>spin_lock_bh</ENTRY> <entry>spin_lock_bh</entry>
<ENTRY>spin_lock_bh</ENTRY> <entry>spin_lock_bh</entry>
<ENTRY>down_interruptible</ENTRY> <entry>down_interruptible</entry>
<ENTRY>None</ENTRY> <entry>None</entry>
</ROW> </row>
</TBODY> </tbody>
</TGROUP> </tgroup>
</TABLE> </table>
</sect1> </sect1>
</chapter> </chapter>
......
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN"[]> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []>
<book id="libataDevGuide"> <book id="libataDevGuide">
<bookinfo> <bookinfo>
......
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN"[]> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []>
<book id="Reed-Solomon-Library-Guide"> <book id="Reed-Solomon-Library-Guide">
<bookinfo> <bookinfo>
......
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN"[]> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []>
<article class="whitepaper" id="LinuxSecurityModule" lang="en"> <article class="whitepaper" id="LinuxSecurityModule" lang="en">
<artheader> <articleinfo>
<title>Linux Security Modules: General Security Hooks for Linux</title> <title>Linux Security Modules: General Security Hooks for Linux</title>
<authorgroup> <authorgroup>
<author> <author>
...@@ -28,7 +31,7 @@ ...@@ -28,7 +31,7 @@
</affiliation> </affiliation>
</author> </author>
</authorgroup> </authorgroup>
</artheader> </articleinfo>
<sect1><title>Introduction</title> <sect1><title>Introduction</title>
...@@ -84,7 +87,7 @@ security; it merely provides the infrastructure to support security ...@@ -84,7 +87,7 @@ security; it merely provides the infrastructure to support security
modules. The LSM kernel patch also moves most of the capabilities modules. The LSM kernel patch also moves most of the capabilities
logic into an optional security module, with the system defaulting logic into an optional security module, with the system defaulting
to the traditional superuser logic. This capabilities module to the traditional superuser logic. This capabilities module
is discussed further in <XRef LinkEnd="cap">. is discussed further in <xref linkend="cap"/>.
</para> </para>
<para> <para>
......
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN"[]> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []>
<book id="MCAGuide"> <book id="MCAGuide">
<bookinfo> <bookinfo>
......
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN"[]> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []>
<book id="MTD-NAND-Guide"> <book id="MTD-NAND-Guide">
<bookinfo> <bookinfo>
......
<!-- -*- sgml -*- --> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN"[ <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY procfsexample SYSTEM "procfs_example.sgml"> <!ENTITY procfsexample SYSTEM "procfs_example.sgml">
]> ]>
...@@ -205,7 +206,7 @@ ...@@ -205,7 +206,7 @@
function will return a pointer to the freshly created function will return a pointer to the freshly created
<structname>struct proc_dir_entry</structname>; otherwise it <structname>struct proc_dir_entry</structname>; otherwise it
will return <constant>NULL</constant>. <xref will return <constant>NULL</constant>. <xref
linkend="userland"> describes how to do something useful with linkend="userland"/> describes how to do something useful with
regular files. regular files.
</para> </para>
...@@ -221,7 +222,7 @@ ...@@ -221,7 +222,7 @@
<para> <para>
If you only want to be able to read the file, the function If you only want to be able to read the file, the function
<function>create_proc_read_entry</function> described in <xref <function>create_proc_read_entry</function> described in <xref
linkend="convenience"> may be used to create and initialise linkend="convenience"/> may be used to create and initialise
the procfs entry in one single call. the procfs entry in one single call.
</para> </para>
</sect1> </sect1>
...@@ -298,7 +299,7 @@ ...@@ -298,7 +299,7 @@
the <structname>struct proc_dir_entry</structname> before the <structname>struct proc_dir_entry</structname> before
<function>remove_proc_entry</function> is called (that is: if <function>remove_proc_entry</function> is called (that is: if
there was some <structfield>data</structfield> allocated, of there was some <structfield>data</structfield> allocated, of
course). See <xref linkend="usingdata"> for more information course). See <xref linkend="usingdata"/> for more information
on using the <structfield>data</structfield> entry. on using the <structfield>data</structfield> entry.
</para> </para>
</sect1> </sect1>
...@@ -333,7 +334,7 @@ entry->write_proc = write_proc_foo; ...@@ -333,7 +334,7 @@ entry->write_proc = write_proc_foo;
If you only want to use a the If you only want to use a the
<structfield>read_proc</structfield>, the function <structfield>read_proc</structfield>, the function
<function>create_proc_read_entry</function> described in <xref <function>create_proc_read_entry</function> described in <xref
linkend="convenience"> may be used to create and initialise the linkend="convenience"/> may be used to create and initialise the
procfs entry in one single call. procfs entry in one single call.
</para> </para>
...@@ -386,7 +387,7 @@ entry->write_proc = write_proc_foo; ...@@ -386,7 +387,7 @@ entry->write_proc = write_proc_foo;
The parameter <parameter>start</parameter> doesn't seem to be The parameter <parameter>start</parameter> doesn't seem to be
used anywhere in the kernel. The <parameter>data</parameter> used anywhere in the kernel. The <parameter>data</parameter>
parameter can be used to create a single call back function for parameter can be used to create a single call back function for
several files, see <xref linkend="usingdata">. several files, see <xref linkend="usingdata"/>.
</para> </para>
<para> <para>
...@@ -395,7 +396,7 @@ entry->write_proc = write_proc_foo; ...@@ -395,7 +396,7 @@ entry->write_proc = write_proc_foo;
</para> </para>
<para> <para>
<xref linkend="example"> shows how to use a read call back <xref linkend="example"/> shows how to use a read call back
function. function.
</para> </para>
</sect1> </sect1>
...@@ -429,12 +430,12 @@ entry->write_proc = write_proc_foo; ...@@ -429,12 +430,12 @@ entry->write_proc = write_proc_foo;
kernel's memory space, so it should first be copied to kernel kernel's memory space, so it should first be copied to kernel
space with <function>copy_from_user</function>. The space with <function>copy_from_user</function>. The
<parameter>file</parameter> parameter is usually <parameter>file</parameter> parameter is usually
ignored. <xref linkend="usingdata"> shows how to use the ignored. <xref linkend="usingdata"/> shows how to use the
<parameter>data</parameter> parameter. <parameter>data</parameter> parameter.
</para> </para>
<para> <para>
Again, <xref linkend="example"> shows how to use this call back Again, <xref linkend="example"/> shows how to use this call back
function. function.
</para> </para>
</sect1> </sect1>
...@@ -525,10 +526,10 @@ int foo_read_func(char *page, char **start, off_t off, ...@@ -525,10 +526,10 @@ int foo_read_func(char *page, char **start, off_t off,
<para> <para>
This function creates a regular file in exactly the same way This function creates a regular file in exactly the same way
as <function>create_proc_entry</function> from <xref as <function>create_proc_entry</function> from <xref
linkend="regularfile"> does, but also allows to set the read linkend="regularfile"/> does, but also allows to set the read
function <parameter>read_proc</parameter> in one call. This function <parameter>read_proc</parameter> in one call. This
function can set the <parameter>data</parameter> as well, like function can set the <parameter>data</parameter> as well, like
explained in <xref linkend="usingdata">. explained in <xref linkend="usingdata"/>.
</para> </para>
</sect1> </sect1>
......
<!-- -*- sgml -*- --> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V4.1//EN"[]> <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []>
<book id="scsidrivers"> <book id="scsidrivers">
<bookinfo> <bookinfo>
......
This diff is collapsed.
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN"[]> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []>
<book id="TulipUserGuide"> <book id="TulipUserGuide">
<bookinfo> <bookinfo>
...@@ -67,7 +69,7 @@ Jeff Garzik, Takashi Manabe and a cast of thousands. ...@@ -67,7 +69,7 @@ Jeff Garzik, Takashi Manabe and a cast of thousands.
<para> <para>
For 2.4.x and later kernels, the Linux Tulip driver is available at For 2.4.x and later kernels, the Linux Tulip driver is available at
<ULink URL="http://sourceforge.net/projects/tulip/">http://sourceforge.net/projects/tulip/</ULink> <ulink url="http://sourceforge.net/projects/tulip/">http://sourceforge.net/projects/tulip/</ulink>
</para> </para>
<para> <para>
...@@ -85,7 +87,7 @@ For 2.4.x and later kernels, the Linux Tulip driver is available at ...@@ -85,7 +87,7 @@ For 2.4.x and later kernels, the Linux Tulip driver is available at
<para> <para>
Additional information on Donald Becker's tulip.c Additional information on Donald Becker's tulip.c
is available at <ULink URL="http://www.scyld.com/network/tulip.html">http://www.scyld.com/network/tulip.html</ULink> is available at <ulink url="http://www.scyld.com/network/tulip.html">http://www.scyld.com/network/tulip.html</ulink>
</para> </para>
</chapter> </chapter>
......
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN"[]> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []>
<book id="Linux-USB-API"> <book id="Linux-USB-API">
<bookinfo> <bookinfo>
<title>The Linux-USB Host Side API</title> <title>The Linux-USB Host Side API</title>
......
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN"[]> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []>
<book id="ViaAudioGuide"> <book id="ViaAudioGuide">
<bookinfo> <bookinfo>
......
This diff is collapsed.
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN"[]> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []>
<book id="WANGuide"> <book id="WANGuide">
<bookinfo> <bookinfo>
......
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN"[]> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []>
<book id="USBDeviceDriver"> <book id="USBDeviceDriver">
<bookinfo> <bookinfo>
......
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN"[]> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []>
<book id="Z85230Guide"> <book id="Z85230Guide">
<bookinfo> <bookinfo>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment