diff options
author | reinelt <reinelt@3ae390bd-cb1e-0410-b409-cd5a39f66f1f> | 2004-06-02 05:28:06 +0000 |
---|---|---|
committer | reinelt <reinelt@3ae390bd-cb1e-0410-b409-cd5a39f66f1f> | 2004-06-02 05:28:06 +0000 |
commit | 21d19e4dbe9a3a1f724a1963d13af21004a06e55 (patch) | |
tree | 8333b427632f129e005ca6f7d4796c18ffddccb6 | |
parent | 491dc3d0e3ff77223118aac4712bf9ed2dac63a8 (diff) | |
download | lcd4linux-21d19e4dbe9a3a1f724a1963d13af21004a06e55.tar.gz |
[lcd4linux @ 2004-06-02 05:27:59 by reinelt]
added documentation tree
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@458 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
26 files changed, 2405 insertions, 0 deletions
diff --git a/documentation/Makefile b/documentation/Makefile new file mode 100644 index 0000000..47425e4 --- /dev/null +++ b/documentation/Makefile @@ -0,0 +1,32 @@ +REP= lcd4linux drivers plugins + +default: makefiles html + true + +makefiles: + @for i in $(REP) ; do \ + (cd $$i && ln -sf ../Makefile.generic Makefile) ; \ + done + +cleanmakefiles: + @for i in $(REP) ; do \ + rm -f $$i/Makefile ; \ + done + +totalclean: + @for i in $(REP) ; do \ + (cd $$i && make clean ; rm Makefile) ; \ + done + rm -rf HTML + +#catalog: catalogue.xml xsl/catalogue.xsl +# test -d catalog || mkdir catalog +# xsltproc --param dir \'$(PWD)\' \ +# --param odir \'$(PWD)/catalog\' \ +# xsl/catalogue.xsl catalogue.xml >catalog/index.html +# cp charte/default/default.css catalog/ + +%: + @for i in $(REP) ; do \ + (cd $$i && make $@) ; \ + done diff --git a/documentation/Makefile.generic b/documentation/Makefile.generic new file mode 100644 index 0000000..2519f22 --- /dev/null +++ b/documentation/Makefile.generic @@ -0,0 +1,59 @@ +# Path +DIR = $(notdir $(PWD)) +OUTPUT = ../HTML + +ifeq "$(DIR)" "lcd4linux" + DIR = +endif + +ifeq "$(DIR)" "" + XSLTPROC = xsltproc +else + XSLTPROC = xsltproc --stringparam class $(DIR) --stringparam root "../" +endif + +XMLVALID = xmllint --noout --valid + +NAMES=$(shell find . -name "*.xml" -exec basename {} .xml \;) + +html: $(patsubst %.xml,%.html,$(wildcard *.xml)) +html-forced: $(patsubst %.xml,%.html-forced,$(wildcard *.xml)) + +%.html: %.xml %.xml-check output + $(XSLTPROC) $< > $(OUTPUT)/$(DIR)/$@ + +%.html-forced: %.xml output + $(XSLTPROC) $< > $(OUTPUT)/$(DIR)/$(patsubst %.xml,%.html,$<) + +check: $(patsubst %.xml, %.xml-check, $(wildcard *.xml)) + +%.xml-check: %.xml + @echo "*** Validation of $<" + $(XMLVALID) $< + +output: + test -d $(OUTPUT) || `mkdir $(OUTPUT); cp ../data/doc.css $(OUTPUT); cp -R ../data/images $(OUTPUT)` + test -d $(OUTPUT)/$(DIR) || mkdir $(OUTPUT)/$(DIR) + +clean: + rm -f $(OUTPUT)/$(DIR)/*.html + +clean-bak: + rm -f *~ *.bak + +help: + @echo -e "" + @echo -e "Usage :" + @echo -e "-------" + @echo -e "make or make html : builds all possible html pages from xml files" + @echo -e "make %.html : builds the %.html page from %.xml" + @echo -e "" + @echo -e "make html-forced : builds all possible html pages from xml files (no validity check)" + @echo -e "make %.html-forced : builds the %.html page from %.xml (no validity check)" + @echo -e "" + @echo -e "make check : checks the validity of all possible xml files" + @echo -e "make %.xml-check : checks the validity of %.xml" + @echo -e "" + @echo -e "make clean : deletes all generated html pages" + @echo -e "make clean-bak : deletes *~ and *.bak files" + @echo -e "" diff --git a/documentation/data/doc.css b/documentation/data/doc.css new file mode 100644 index 0000000..8a06636 --- /dev/null +++ b/documentation/data/doc.css @@ -0,0 +1,82 @@ +body { + margin: 0 10px 10px 10px; + padding: 0; +} + +h1 { + margin-left: -10px; + margin-top: 5px; + text-align: center; + border-bottom: 2px groove black; +} + +div.links { + float: right; + margin-left: 10px; + margin-top: 1em; + padding: 0 10px 0px 10px; + text-align: center; + border: 1px solid black; + background: white; +} div.links div.title { + background: white; + margin: -0.5em 10px 5px 10px; + padding: 0 10px; + float: center; + border: 1px solid black; +} div.links div.index { + position: relative; + bottom: 0; + left: -5px; + margin-top: 4px; + text-align: left; +} div.links a { + color: black; + /*text-decoration: none;*/ +} + +div.cmd { + background: #000; + border: 1px solid #ddd; + font-family: monospace,fixed; + font-style: bold; + color: #fff; + white-space: pre; + font-size: 12px; + padding: 5px; + margin: 5px; +} + +div.conf { + background: #eee; + border: 1px solid #111; + font-family: monospace,fixed; + white-space: pre; + font-size: 12px; + padding: 5px; + margin: 5px; +} + +div.warn { + margin-top: 20px; + border: 2px solid #700000; + margin-left: 20px; + padding-left: 5px; + width: auto; + min-height: 30px; +} + +div.note { + margin-top: 20px; + border: 2px solid #43607e; + margin-left: 20px; + padding-left: 5px; + width: auto; + min-height: 30px; +} + +img.icon { + float: left; + margin-left: -14px; + margin-top: -20px; +} diff --git a/documentation/data/images/note-icon.png b/documentation/data/images/note-icon.png Binary files differnew file mode 100644 index 0000000..33aa88b --- /dev/null +++ b/documentation/data/images/note-icon.png diff --git a/documentation/data/images/warn-icon.png b/documentation/data/images/warn-icon.png Binary files differnew file mode 100644 index 0000000..2e1a2a3 --- /dev/null +++ b/documentation/data/images/warn-icon.png diff --git a/documentation/data/references.xml b/documentation/data/references.xml new file mode 100644 index 0000000..793dd2a --- /dev/null +++ b/documentation/data/references.xml @@ -0,0 +1,65 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?> +<!DOCTYPE references SYSTEM "../dtd/references.dtd"> + +<references> +<!--Pages about lcd4linux--> + <ref id="index"> + <class/> + <file>index</file> + <label>Documentation index</label> + <hiden/> + </ref> + <ref id="overview"> + <class/> + <file>overview</file> + <label>&L4L; overview</label> + </ref> + <ref id="bug_report"> + <class/> + <file>bug_report</file> + <label>How to report bugs or get support</label> + </ref> + <ref id="contact"> + <class/> + <file>contact</file> + <label>How to contact us</label> + </ref> + <ref id="write_doc"> + <class/> + <file>write_doc</file> + <label>How to write documentation</label> + </ref> + + <ref id="test"> + <class/> + <file>example</file> + <label>A test page</label> + </ref> + +<!--Drivers--> + <ref id="drivers_index"> + <class>drivers</class> + <file>index</file> + <label>Drivers index</label> + <hiden/> + </ref> + <ref id="hd44780"> + <class>drivers</class> + <file>hd44780</file> + <label>HD44780 displays driver</label> + </ref> + +<!--Plugins--> + <ref id="plugins_index"> + <class>plugins</class> + <file>index</file> + <label>Plugins index</label> + <hiden/> + </ref> + <ref id="i2c_sensors"> + <class>plugins</class> + <file>i2c_sensors</file> + <label>I2C sensors plugin</label> + </ref> + +</references> diff --git a/documentation/drivers/Makefile b/documentation/drivers/Makefile new file mode 100644 index 0000000..2519f22 --- /dev/null +++ b/documentation/drivers/Makefile @@ -0,0 +1,59 @@ +# Path +DIR = $(notdir $(PWD)) +OUTPUT = ../HTML + +ifeq "$(DIR)" "lcd4linux" + DIR = +endif + +ifeq "$(DIR)" "" + XSLTPROC = xsltproc +else + XSLTPROC = xsltproc --stringparam class $(DIR) --stringparam root "../" +endif + +XMLVALID = xmllint --noout --valid + +NAMES=$(shell find . -name "*.xml" -exec basename {} .xml \;) + +html: $(patsubst %.xml,%.html,$(wildcard *.xml)) +html-forced: $(patsubst %.xml,%.html-forced,$(wildcard *.xml)) + +%.html: %.xml %.xml-check output + $(XSLTPROC) $< > $(OUTPUT)/$(DIR)/$@ + +%.html-forced: %.xml output + $(XSLTPROC) $< > $(OUTPUT)/$(DIR)/$(patsubst %.xml,%.html,$<) + +check: $(patsubst %.xml, %.xml-check, $(wildcard *.xml)) + +%.xml-check: %.xml + @echo "*** Validation of $<" + $(XMLVALID) $< + +output: + test -d $(OUTPUT) || `mkdir $(OUTPUT); cp ../data/doc.css $(OUTPUT); cp -R ../data/images $(OUTPUT)` + test -d $(OUTPUT)/$(DIR) || mkdir $(OUTPUT)/$(DIR) + +clean: + rm -f $(OUTPUT)/$(DIR)/*.html + +clean-bak: + rm -f *~ *.bak + +help: + @echo -e "" + @echo -e "Usage :" + @echo -e "-------" + @echo -e "make or make html : builds all possible html pages from xml files" + @echo -e "make %.html : builds the %.html page from %.xml" + @echo -e "" + @echo -e "make html-forced : builds all possible html pages from xml files (no validity check)" + @echo -e "make %.html-forced : builds the %.html page from %.xml (no validity check)" + @echo -e "" + @echo -e "make check : checks the validity of all possible xml files" + @echo -e "make %.xml-check : checks the validity of %.xml" + @echo -e "" + @echo -e "make clean : deletes all generated html pages" + @echo -e "make clean-bak : deletes *~ and *.bak files" + @echo -e "" diff --git a/documentation/drivers/index.xml b/documentation/drivers/index.xml new file mode 100644 index 0000000..12ba14e --- /dev/null +++ b/documentation/drivers/index.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?> +<?xml-stylesheet type="text/xsl" href="../xsl/doc.xsl"?> +<!DOCTYPE doc SYSTEM "../dtd/doc.dtd"> +<doc> +<head> + <title>&L4L; drivers</title> + <ref>drivers_index</ref> + <links/> +</head> +<body> +<h2>Drivers</h2> +<index class="drivers"/> +</body> +</doc> diff --git a/documentation/dtd/doc.dtd b/documentation/dtd/doc.dtd new file mode 100644 index 0000000..3b1a778 --- /dev/null +++ b/documentation/dtd/doc.dtd @@ -0,0 +1,910 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<!ELEMENT doc (head,body)> + +<!ENTITY l4l "LCD4Linux"> +<!ENTITY L4L "LCD4Linux"> + + +<!--head--> +<!ELEMENT head (title,(version|ref|links|history|state)*)> + <!ELEMENT title (#PCDATA)> + <!ELEMENT version (#PCDATA)> + <!ELEMENT ref (#PCDATA)> + <!ELEMENT links (link*)> + <!ELEMENT link (#PCDATA)> + <!ATTLIST link ref CDATA #IMPLIED url CDATA #IMPLIED> + <!ELEMENT history (revision)*> + <!ELEMENT revision (#PCDATA)> + <!ATTLIST revision version CDATA #REQUIRED by CDATA #IMPLIED> + <!ELEMENT state (#PCDATA)> + <!ATTLIST state finished CDATA #IMPLIED proofread CDATA #IMPLIED> + +<!--body--> +<!ELEMENT body ANY> + <!--Helpers--> + <!ELEMENT cmd ANY> + <!ELEMENT conf ANY> + <!ELEMENT note ANY> + <!ELEMENT warn ANY> + <!ELEMENT new ANY> + <!ATTLIST new date CDATA #IMPLIED title CDATA #REQUIRED> + <!ELEMENT index ANY> + <!ATTLIST index class CDATA #IMPLIED> + + <!--XHTML tags from the official DTD--> + <!--not that clean, but it works :P --> + +<!-- + Extensible HTML version 1.0 Strict DTD + + This is the same as HTML 4.0 Strict except for + changes due to the differences between XML and SGML. + + Namespace = http://www.w3.org/1999/xhtml + + For further information, see: http://www.w3.org/TR/xhtml1 + + Copyright (c) 1998-2000 W3C (MIT, INRIA, Keio), + All Rights Reserved. + + This DTD module is identified by the PUBLIC and SYSTEM identifiers: + + PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" + + $Revision: 1.1 $ + $Date: 2004/06/02 05:28:05 $ + +--> + +<!--================ Character mnemonic entities =========================--> + +<!ENTITY % HTMLlat1 PUBLIC + "-//W3C//ENTITIES Latin 1 for XHTML//EN" + "xhtml-lat1.ent"> +%HTMLlat1; + +<!ENTITY % HTMLsymbol PUBLIC + "-//W3C//ENTITIES Symbols for XHTML//EN" + "xhtml-symbol.ent"> +%HTMLsymbol; + +<!ENTITY % HTMLspecial PUBLIC + "-//W3C//ENTITIES Special for XHTML//EN" + "xhtml-special.ent"> +%HTMLspecial; + +<!--================== Imported Names ====================================--> + +<!ENTITY % ContentType "CDATA"> + <!-- media type, as per [RFC2045] --> + +<!ENTITY % ContentTypes "CDATA"> + <!-- comma-separated list of media types, as per [RFC2045] --> + +<!ENTITY % Charset "CDATA"> + <!-- a character encoding, as per [RFC2045] --> + +<!ENTITY % Charsets "CDATA"> + <!-- a space separated list of character encodings, as per [RFC2045] --> + +<!ENTITY % LanguageCode "NMTOKEN"> + <!-- a language code, as per [RFC1766] --> + +<!ENTITY % Character "CDATA"> + <!-- a single character from [ISO10646] --> + +<!ENTITY % Number "CDATA"> + <!-- one or more digits --> + +<!ENTITY % LinkTypes "CDATA"> + <!-- space-separated list of link types --> + +<!ENTITY % MediaDesc "CDATA"> + <!-- single or comma-separated list of media descriptors --> + +<!ENTITY % URI "CDATA"> + <!-- a Uniform Resource Identifier, see [RFC2396] --> + +<!ENTITY % UriList "CDATA"> + <!-- a space separated list of Uniform Resource Identifiers --> + +<!ENTITY % Datetime "CDATA"> + <!-- date and time information. ISO date format --> + +<!ENTITY % Script "CDATA"> + <!-- script expression --> + +<!ENTITY % StyleSheet "CDATA"> + <!-- style sheet data --> + +<!ENTITY % Text "CDATA"> + <!-- used for titles etc. --> + +<!ENTITY % FrameTarget "NMTOKEN"> + <!-- render in this frame --> + +<!ENTITY % Length "CDATA"> + <!-- nn for pixels or nn% for percentage length --> + +<!ENTITY % MultiLength "CDATA"> + <!-- pixel, percentage, or relative --> + +<!ENTITY % MultiLengths "CDATA"> + <!-- comma-separated list of MultiLength --> + +<!ENTITY % Pixels "CDATA"> + <!-- integer representing length in pixels --> + +<!-- these are used for image maps --> + +<!ENTITY % Shape "(rect|circle|poly|default)"> + +<!ENTITY % Coords "CDATA"> + <!-- comma separated list of lengths --> + +<!--=================== Generic Attributes ===============================--> + +<!-- core attributes common to most elements + id document-wide unique id + class space separated list of classes + style associated style info + title advisory title/amplification +--> +<!ENTITY % coreattrs + "id ID #IMPLIED + class CDATA #IMPLIED + style %StyleSheet; #IMPLIED + title %Text; #IMPLIED" + > + +<!-- internationalization attributes + lang language code (backwards compatible) + xml:lang language code (as per XML 1.0 spec) + dir direction for weak/neutral text +--> +<!ENTITY % i18n + "lang %LanguageCode; #IMPLIED + xml:lang %LanguageCode; #IMPLIED + dir (ltr|rtl) #IMPLIED" + > + +<!-- attributes for common UI events + onclick a pointer button was clicked + ondblclick a pointer button was double clicked + onmousedown a pointer button was pressed down + onmouseup a pointer button was released + onmousemove a pointer was moved onto the element + onmouseout a pointer was moved away from the element + onkeypress a key was pressed and released + onkeydown a key was pressed down + onkeyup a key was released +--> +<!ENTITY % events + "onclick %Script; #IMPLIED + ondblclick %Script; #IMPLIED + onmousedown %Script; #IMPLIED + onmouseup %Script; #IMPLIED + onmouseover %Script; #IMPLIED + onmousemove %Script; #IMPLIED + onmouseout %Script; #IMPLIED + onkeypress %Script; #IMPLIED + onkeydown %Script; #IMPLIED + onkeyup %Script; #IMPLIED" + > + +<!-- attributes for elements that can get the focus + accesskey accessibility key character + tabindex position in tabbing order + onfocus the element got the focus + onblur the element lost the focus +--> +<!ENTITY % focus + "accesskey %Character; #IMPLIED + tabindex %Number; #IMPLIED + onfocus %Script; #IMPLIED + onblur %Script; #IMPLIED" + > + +<!ENTITY % attrs "%coreattrs; %i18n; %events;"> + +<!--=================== Text Elements ====================================--> + +<!ENTITY % special + "br | span | bdo | object | img | map"> + +<!ENTITY % fontstyle "tt | i | b | big | small"> + +<!ENTITY % phrase "em | strong | dfn | code | q | sub | sup | + samp | kbd | var | cite | abbr | acronym"> + +<!ENTITY % inline.forms "input | select | textarea | label | button"> + +<!-- these can occur at block or inline level --> +<!ENTITY % misc "ins | del | script | noscript"> + +<!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;"> + +<!-- %Inline; covers inline or "text-level" elements --> +<!ENTITY % Inline "(#PCDATA | %inline; | %misc;)*"> + +<!--================== Block level elements ==============================--> + +<!ENTITY % heading "h1|h2|h3|h4|h5|h6"> +<!ENTITY % lists "ul | ol | dl"> +<!ENTITY % blocktext "pre | hr | blockquote | address"> + +<!ENTITY % block + "p | %heading; | div | %lists; | %blocktext; | fieldset | table"> + +<!ENTITY % Block "(%block; | form | %misc;)*"> + +<!-- %Flow; mixes Block and Inline and is used for list items etc. --> +<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*"> + +<!--================== Content models for exclusions =====================--> + +<!-- a elements use %Inline; excluding a --> + +<!ENTITY % a.content + "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc;)*"> + +<!-- pre uses %Inline excluding img, object, big, small, sup or sup --> + +<!ENTITY % pre.content + "(#PCDATA | a | br | span | bdo | map | tt | i | b | + %phrase; | %inline.forms;)*"> + +<!-- form uses %Block; excluding form --> + +<!ENTITY % form.content "(%block; | %misc;)*"> + +<!-- button uses %Flow; but excludes a, form and form controls --> + +<!ENTITY % button.content + "(#PCDATA | p | %heading; | div | %lists; | %blocktext; | + table | %special; | %fontstyle; | %phrase; | %misc;)*"> + + +<!--[...]--> + +<!--=================== Paragraphs =======================================--> + +<!ELEMENT p %Inline;> +<!ATTLIST p + %attrs; + > + +<!--=================== Headings =========================================--> + +<!-- + There are six levels of headings from h1 (the most important) + to h6 (the least important). +--> + +<!ELEMENT h1 %Inline;> +<!ATTLIST h1 + %attrs; + > + +<!ELEMENT h2 %Inline;> +<!ATTLIST h2 + %attrs; + > + +<!ELEMENT h3 %Inline;> +<!ATTLIST h3 + %attrs; + > + +<!ELEMENT h4 %Inline;> +<!ATTLIST h4 + %attrs; + > + +<!ELEMENT h5 %Inline;> +<!ATTLIST h5 + %attrs; + > + +<!ELEMENT h6 %Inline;> +<!ATTLIST h6 + %attrs; + > + +<!--=================== Lists ============================================--> + +<!-- Unordered list --> + +<!ELEMENT ul (li)+> +<!ATTLIST ul + %attrs; + > + +<!-- Ordered (numbered) list --> + +<!ELEMENT ol (li)+> +<!ATTLIST ol + %attrs; + > + +<!-- list item --> + +<!ELEMENT li %Flow;> +<!ATTLIST li + %attrs; + > + +<!-- definition lists - dt for term, dd for its definition --> + +<!ELEMENT dl (dt|dd)+> +<!ATTLIST dl + %attrs; + > + +<!ELEMENT dt %Inline;> +<!ATTLIST dt + %attrs; + > + +<!ELEMENT dd %Flow;> +<!ATTLIST dd + %attrs; + > + +<!--=================== Address ==========================================--> + +<!-- information on author --> + +<!ELEMENT address %Inline;> +<!ATTLIST address + %attrs; + > + +<!--=================== Horizontal Rule ==================================--> + +<!ELEMENT hr EMPTY> +<!ATTLIST hr + %attrs; + > + +<!--=================== Preformatted Text ================================--> + +<!-- content is %Inline; excluding "img|object|big|small|sub|sup" --> + +<!ELEMENT pre %pre.content;> +<!ATTLIST pre + %attrs; + xml:space (preserve) #FIXED 'preserve' + > + +<!--=================== Block-like Quotes ================================--> + +<!ELEMENT blockquote %Block;> +<!ATTLIST blockquote + %attrs; + cite %URI; #IMPLIED + > + +<!--=================== Inserted/Deleted Text ============================--> + +<!-- + ins/del are allowed in block and inline content, but its + inappropriate to include block content within an ins element + occurring in inline content. +--> +<!ELEMENT ins %Flow;> +<!ATTLIST ins + %attrs; + cite %URI; #IMPLIED + datetime %Datetime; #IMPLIED + > + +<!ELEMENT del %Flow;> +<!ATTLIST del + %attrs; + cite %URI; #IMPLIED + datetime %Datetime; #IMPLIED + > + +<!--================== The Anchor Element ================================--> + +<!-- content is %Inline; except that anchors shouldn't be nested --> + +<!ELEMENT a %a.content;> +<!ATTLIST a + %attrs; + charset %Charset; #IMPLIED + type %ContentType; #IMPLIED + name NMTOKEN #IMPLIED + href %URI; #IMPLIED + hreflang %LanguageCode; #IMPLIED + rel %LinkTypes; #IMPLIED + rev %LinkTypes; #IMPLIED + accesskey %Character; #IMPLIED + shape %Shape; "rect" + coords %Coords; #IMPLIED + tabindex %Number; #IMPLIED + onfocus %Script; #IMPLIED + onblur %Script; #IMPLIED + > + +<!--===================== Inline Elements ================================--> + +<!ELEMENT span %Inline;> <!-- generic language/style container --> +<!ATTLIST span + %attrs; + > + +<!ELEMENT bdo %Inline;> <!-- I18N BiDi over-ride --> +<!ATTLIST bdo + %coreattrs; + %events; + lang %LanguageCode; #IMPLIED + xml:lang %LanguageCode; #IMPLIED + dir (ltr|rtl) #REQUIRED + > + +<!ELEMENT br EMPTY> <!-- forced line break --> +<!ATTLIST br + %coreattrs; + > + +<!ELEMENT em %Inline;> <!-- emphasis --> +<!ATTLIST em %attrs;> + +<!ELEMENT strong %Inline;> <!-- strong emphasis --> +<!ATTLIST strong %attrs;> + +<!ELEMENT dfn %Inline;> <!-- definitional --> +<!ATTLIST dfn %attrs;> + +<!ELEMENT code %Inline;> <!-- program code --> +<!ATTLIST code %attrs;> + +<!ELEMENT samp %Inline;> <!-- sample --> +<!ATTLIST samp %attrs;> + +<!ELEMENT kbd %Inline;> <!-- something user would type --> +<!ATTLIST kbd %attrs;> + +<!ELEMENT var %Inline;> <!-- variable --> +<!ATTLIST var %attrs;> + +<!ELEMENT cite %Inline;> <!-- citation --> +<!ATTLIST cite %attrs;> + +<!ELEMENT abbr %Inline;> <!-- abbreviation --> +<!ATTLIST abbr %attrs;> + +<!ELEMENT acronym %Inline;> <!-- acronym --> +<!ATTLIST acronym %attrs;> + +<!ELEMENT q %Inline;> <!-- inlined quote --> +<!ATTLIST q + %attrs; + cite %URI; #IMPLIED + > + +<!ELEMENT sub %Inline;> <!-- subscript --> +<!ATTLIST sub %attrs;> + +<!ELEMENT sup %Inline;> <!-- superscript --> +<!ATTLIST sup %attrs;> + +<!ELEMENT tt %Inline;> <!-- fixed pitch font --> +<!ATTLIST tt %attrs;> + +<!ELEMENT i %Inline;> <!-- italic font --> +<!ATTLIST i %attrs;> + +<!ELEMENT b %Inline;> <!-- bold font --> +<!ATTLIST b %attrs;> + +<!ELEMENT big %Inline;> <!-- bigger font --> +<!ATTLIST big %attrs;> + +<!ELEMENT small %Inline;> <!-- smaller font --> +<!ATTLIST small %attrs;> + +<!--==================== Object ======================================--> +<!-- + object is used to embed objects as part of HTML pages. + param elements should precede other content. Parameters + can also be expressed as attribute/value pairs on the + object element itself when brevity is desired. +--> + +<!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*> +<!ATTLIST object + %attrs; + declare (declare) #IMPLIED + classid %URI; #IMPLIED + codebase %URI; #IMPLIED + data %URI; #IMPLIED + type %ContentType; #IMPLIED + codetype %ContentType; #IMPLIED + archive %UriList; #IMPLIED + standby %Text; #IMPLIED + height %Length; #IMPLIED + width %Length; #IMPLIED + usemap %URI; #IMPLIED + name NMTOKEN #IMPLIED + tabindex %Number; #IMPLIED + > + +<!-- + param is used to supply a named property value. + In XML it would seem natural to follow RDF and support an + abbreviated syntax where the param elements are replaced + by attribute value pairs on the object start tag. +--> +<!ELEMENT param EMPTY> +<!ATTLIST param + id ID #IMPLIED + name CDATA #IMPLIED + value CDATA #IMPLIED + valuetype (data|ref|object) "data" + type %ContentType; #IMPLIED + > + +<!--=================== Images ===========================================--> + +<!-- + To avoid accessibility problems for people who aren't + able to see the image, you should provide a text + description using the alt and longdesc attributes. + In addition, avoid the use of server-side image maps. + Note that in this DTD there is no name attribute. That + is only available in the transitional and frameset DTD. +--> + +<!ELEMENT img EMPTY> +<!ATTLIST img + %attrs; + src %URI; #REQUIRED + alt %Text; #REQUIRED + longdesc %URI; #IMPLIED + height %Length; #IMPLIED + width %Length; #IMPLIED + usemap %URI; #IMPLIED + ismap (ismap) #IMPLIED + > + +<!-- usemap points to a map element which may be in this document + or an external document, although the latter is not widely supported --> + +<!--================== Client-side image maps ============================--> + +<!-- These can be placed in the same document or grouped in a + separate document although this isn't yet widely supported --> + +<!ELEMENT map ((%block; | form | %misc;)+ | area+)> +<!ATTLIST map + %i18n; + %events; + id ID #REQUIRED + class CDATA #IMPLIED + style %StyleSheet; #IMPLIED + title %Text; #IMPLIED + name NMTOKEN #IMPLIED + > + +<!ELEMENT area EMPTY> +<!ATTLIST area + %attrs; + shape %Shape; "rect" + coords %Coords; #IMPLIED + href %URI; #IMPLIED + nohref (nohref) #IMPLIED + alt %Text; #REQUIRED + tabindex %Number; #IMPLIED + accesskey %Character; #IMPLIED + onfocus %Script; #IMPLIED + onblur %Script; #IMPLIED + > + +<!--================ Forms ===============================================--> +<!ELEMENT form %form.content;> <!-- forms shouldn't be nested --> + +<!ATTLIST form + %attrs; + action %URI; #REQUIRED + method (get|post) "get" + enctype %ContentType; "application/x-www-form-urlencoded" + onsubmit %Script; #IMPLIED + onreset %Script; #IMPLIED + accept %ContentTypes; #IMPLIED + accept-charset %Charsets; #IMPLIED + > + +<!-- + Each label must not contain more than ONE field + Label elements shouldn't be nested. +--> +<!ELEMENT label %Inline;> +<!ATTLIST label + %attrs; + for IDREF #IMPLIED + accesskey %Character; #IMPLIED + onfocus %Script; #IMPLIED + onblur %Script; #IMPLIED + > + +<!ENTITY % InputType + "(text | password | checkbox | + radio | submit | reset | + file | hidden | image | button)" + > + +<!-- the name attribute is required for all but submit & reset --> + +<!ELEMENT input EMPTY> <!-- form control --> +<!ATTLIST input + %attrs; + type %InputType; "text" + name CDATA #IMPLIED + value CDATA #IMPLIED + checked (checked) #IMPLIED + disabled (disabled) #IMPLIED + readonly (readonly) #IMPLIED + size CDATA #IMPLIED + maxlength %Number; #IMPLIED + src %URI; #IMPLIED + alt CDATA #IMPLIED + usemap %URI; #IMPLIED + tabindex %Number; #IMPLIED + accesskey %Character; #IMPLIED + onfocus %Script; #IMPLIED + onblur %Script; #IMPLIED + onselect %Script; #IMPLIED + onchange %Script; #IMPLIED + accept %ContentTypes; #IMPLIED + > + +<!ELEMENT select (optgroup|option)+> <!-- option selector --> +<!ATTLIST select + %attrs; + name CDATA #IMPLIED + size %Number; #IMPLIED + multiple (multiple) #IMPLIED + disabled (disabled) #IMPLIED + tabindex %Number; #IMPLIED + onfocus %Script; #IMPLIED + onblur %Script; #IMPLIED + onchange %Script; #IMPLIED + > + +<!ELEMENT optgroup (option)+> <!-- option group --> +<!ATTLIST optgroup + %attrs; + disabled (disabled) #IMPLIED + label %Text; #REQUIRED + > + +<!ELEMENT option (#PCDATA)> <!-- selectable choice --> +<!ATTLIST option + %attrs; + selected (selected) #IMPLIED + disabled (disabled) #IMPLIED + label %Text; #IMPLIED + value CDATA #IMPLIED + > + +<!ELEMENT textarea (#PCDATA)> <!-- multi-line text field --> +<!ATTLIST textarea + %attrs; + name CDATA #IMPLIED + rows %Number; #REQUIRED + cols %Number; #REQUIRED + disabled (disabled) #IMPLIED + readonly (readonly) #IMPLIED + tabindex %Number; #IMPLIED + accesskey %Character; #IMPLIED + onfocus %Script; #IMPLIED + onblur %Script; #IMPLIED + onselect %Script; #IMPLIED + onchange %Script; #IMPLIED + > + +<!-- + The fieldset element is used to group form fields. + Only one legend element should occur in the content + and if present should only be preceded by whitespace. +--> +<!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*> +<!ATTLIST fieldset + %attrs; + > + +<!ELEMENT legend %Inline;> <!-- fieldset label --> +<!ATTLIST legend + %attrs; + accesskey %Character; #IMPLIED + > + +<!-- + Content is %Flow; excluding a, form and form controls +--> +<!ELEMENT button %button.content;> <!-- push button --> +<!ATTLIST button + %attrs; + name CDATA #IMPLIED + value CDATA #IMPLIED + type (button|submit|reset) "submit" + disabled (disabled) #IMPLIED + tabindex %Number; #IMPLIED + accesskey %Character; #IMPLIED + onfocus %Script; #IMPLIED + onblur %Script; #IMPLIED + > + +<!--======================= Tables =======================================--> + +<!-- Derived from IETF HTML table standard, see [RFC1942] --> + +<!-- + The border attribute sets the thickness of the frame around the + table. The default units are screen pixels. + + The frame attribute specifies which parts of the frame around + the table should be rendered. The values are not the same as + CALS to avoid a name clash with the valign attribute. +--> +<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)"> + +<!-- + The rules attribute defines which rules to draw between cells: + + If rules is absent then assume: + "none" if border is absent or border="0" otherwise "all" +--> + +<!ENTITY % TRules "(none | groups | rows | cols | all)"> + +<!-- horizontal placement of table relative to document --> +<!ENTITY % TAlign "(left|center|right)"> + +<!-- horizontal alignment attributes for cell contents + + char alignment char, e.g. char=':' + charoff offset for alignment char +--> +<!ENTITY % cellhalign + "align (left|center|right|justify|char) #IMPLIED + char %Character; #IMPLIED + charoff %Length; #IMPLIED" + > + +<!-- vertical alignment attributes for cell contents --> +<!ENTITY % cellvalign + "valign (top|middle|bottom|baseline) #IMPLIED" + > + +<!ELEMENT table + (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))> +<!ELEMENT caption %Inline;> +<!ELEMENT thead (tr)+> +<!ELEMENT tfoot (tr)+> +<!ELEMENT tbody (tr)+> +<!ELEMENT colgroup (col)*> +<!ELEMENT col EMPTY> +<!ELEMENT tr (th|td)+> +<!ELEMENT th %Flow;> +<!ELEMENT td %Flow;> + +<!ATTLIST table + %attrs; + summary %Text; #IMPLIED + width %Length; #IMPLIED + border %Pixels; #IMPLIED + frame %TFrame; #IMPLIED + rules %TRules; #IMPLIED + cellspacing %Length; #IMPLIED + cellpadding %Length; #IMPLIED + > + +<!ENTITY % CAlign "(top|bottom|left|right)"> + +<!ATTLIST caption + %attrs; + > + +<!-- +colgroup groups a set of col elements. It allows you to group +several semantically related columns together. +--> +<!ATTLIST colgroup + %attrs; + span %Number; "1" + width %MultiLength; #IMPLIED + %cellhalign; + %cellvalign; + > + +<!-- + col elements define the alignment properties for cells in + one or more columns. + + The width attribute specifies the width of the columns, e.g. + + width=64 width in screen pixels + width=0.5* relative width of 0.5 + + The span attribute causes the attributes of one + col element to apply to more than one column. +--> +<!ATTLIST col + %attrs; + span %Number; "1" + width %MultiLength; #IMPLIED + %cellhalign; + %cellvalign; + > + +<!-- + Use thead to duplicate headers when breaking table + across page boundaries, or for static headers when + tbody sections are rendered in scrolling panel. + + Use tfoot to duplicate footers when breaking table + across page boundaries, or for static footers when + tbody sections are rendered in scrolling panel. + + Use multiple tbody sections when rules are needed + between groups of table rows. +--> +<!ATTLIST thead + %attrs; + %cellhalign; + %cellvalign; + > + +<!ATTLIST tfoot + %attrs; + %cellhalign; + %cellvalign; + > + +<!ATTLIST tbody + %attrs; + %cellhalign; + %cellvalign; + > + +<!ATTLIST tr + %attrs; + %cellhalign; + %cellvalign; + > + + +<!-- Scope is simpler than headers attribute for common tables --> +<!ENTITY % Scope "(row|col|rowgroup|colgroup)"> + +<!-- th is for headers, td for data and for cells acting as both --> + +<!ATTLIST th + %attrs; + abbr %Text; #IMPLIED + axis CDATA #IMPLIED + headers IDREFS #IMPLIED + scope %Scope; #IMPLIED + rowspan %Number; "1" + colspan %Number; "1" + %cellhalign; + %cellvalign; + > + +<!ATTLIST td + %attrs; + abbr %Text; #IMPLIED + axis CDATA #IMPLIED + headers IDREFS #IMPLIED + scope %Scope; #IMPLIED + rowspan %Number; "1" + colspan %Number; "1" + %cellhalign; + %cellvalign; + > diff --git a/documentation/dtd/references.dtd b/documentation/dtd/references.dtd new file mode 100644 index 0000000..fc54fde --- /dev/null +++ b/documentation/dtd/references.dtd @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!-- + DTD of documentation for the lcd4linux project + Copyright 2004 Xavier Vello <xavier66@free.fr> + Copyright 2004 The LCD4Linux Team <lcd4linux-devel@users.sourceforge.net> +--> + +<!ENTITY l4l "LCD4Linux"> +<!ENTITY L4L "LCD4Linux"> + +<!ELEMENT references (ref*)> + +<!ELEMENT ref ((class|file|label|hiden))> +<!ATTLIST ref id CDATA #REQUIRED> + <!ELEMENT class (#PCDATA)> + <!ELEMENT file (#PCDATA)> + <!ELEMENT label (#PCDATA)> + <!ELEMENT hiden EMPTY> diff --git a/documentation/dtd/xhtml-lat1.ent b/documentation/dtd/xhtml-lat1.ent new file mode 100644 index 0000000..293d2ba --- /dev/null +++ b/documentation/dtd/xhtml-lat1.ent @@ -0,0 +1,194 @@ +<!-- Portions (C) International Organization for Standardization 1986 + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. +--> +<!-- Character entity set. Typical invocation: + <!ENTITY % HTMLlat1 PUBLIC + "-//W3C//ENTITIES Latin 1//EN//HTML"> + %HTMLlat1; +--> + +<!ENTITY nbsp " "> <!-- no-break space = non-breaking space, + U+00A0 ISOnum --> +<!ENTITY iexcl "¡"> <!-- inverted exclamation mark, U+00A1 ISOnum --> +<!ENTITY cent "¢"> <!-- cent sign, U+00A2 ISOnum --> +<!ENTITY pound "£"> <!-- pound sign, U+00A3 ISOnum --> +<!ENTITY curren "¤"> <!-- currency sign, U+00A4 ISOnum --> +<!ENTITY yen "¥"> <!-- yen sign = yuan sign, U+00A5 ISOnum --> +<!ENTITY brvbar "¦"> <!-- broken bar = broken vertical bar, + U+00A6 ISOnum --> +<!ENTITY sect "§"> <!-- section sign, U+00A7 ISOnum --> +<!ENTITY uml "¨"> <!-- diaeresis = spacing diaeresis, + U+00A8 ISOdia --> +<!ENTITY copy "©"> <!-- copyright sign, U+00A9 ISOnum --> +<!ENTITY ordf "ª"> <!-- feminine ordinal indicator, U+00AA ISOnum --> +<!ENTITY laquo "«"> <!-- left-pointing double angle quotation mark + = left pointing guillemet, U+00AB ISOnum --> +<!ENTITY not "¬"> <!-- not sign, U+00AC ISOnum --> +<!ENTITY shy "­"> <!-- soft hyphen = discretionary hyphen, + U+00AD ISOnum --> +<!ENTITY reg "®"> <!-- registered sign = registered trade mark sign, + U+00AE ISOnum --> +<!ENTITY macr "¯"> <!-- macron = spacing macron = overline + = APL overbar, U+00AF ISOdia --> +<!ENTITY deg "°"> <!-- degree sign, U+00B0 ISOnum --> +<!ENTITY plusmn "±"> <!-- plus-minus sign = plus-or-minus sign, + U+00B1 ISOnum --> +<!ENTITY sup2 "²"> <!-- superscript two = superscript digit two + = squared, U+00B2 ISOnum --> +<!ENTITY sup3 "³"> <!-- superscript three = superscript digit three + = cubed, U+00B3 ISOnum --> +<!ENTITY acute "´"> <!-- acute accent = spacing acute, + U+00B4 ISOdia --> +<!ENTITY micro "µ"> <!-- micro sign, U+00B5 ISOnum --> +<!ENTITY para "¶"> <!-- pilcrow sign = paragraph sign, + U+00B6 ISOnum --> +<!ENTITY middot "·"> <!-- middle dot = Georgian comma + = Greek middle dot, U+00B7 ISOnum --> +<!ENTITY cedil "¸"> <!-- cedilla = spacing cedilla, U+00B8 ISOdia --> +<!ENTITY sup1 "¹"> <!-- superscript one = superscript digit one, + U+00B9 ISOnum --> +<!ENTITY ordm "º"> <!-- masculine ordinal indicator, + U+00BA ISOnum --> +<!ENTITY raquo "»"> <!-- right-pointing double angle quotation mark + = right pointing guillemet, U+00BB ISOnum --> +<!ENTITY frac14 "¼"> <!-- vulgar fraction one quarter + = fraction one quarter, U+00BC ISOnum --> +<!ENTITY frac12 "½"> <!-- vulgar fraction one half + = fraction one half, U+00BD ISOnum --> +<!ENTITY frac34 "¾"> <!-- vulgar fraction three quarters + = fraction three quarters, U+00BE ISOnum --> +<!ENTITY iquest "¿"> <!-- inverted question mark + = turned question mark, U+00BF ISOnum --> +<!ENTITY Agrave "À"> <!-- latin capital letter A with grave + = latin capital letter A grave, + U+00C0 ISOlat1 --> +<!ENTITY Aacute "Á"> <!-- latin capital letter A with acute, + U+00C1 ISOlat1 --> +<!ENTITY Acirc "Â"> <!-- latin capital letter A with circumflex, + U+00C2 ISOlat1 --> +<!ENTITY Atilde "Ã"> <!-- latin capital letter A with tilde, + U+00C3 ISOlat1 --> +<!ENTITY Auml "Ä"> <!-- latin capital letter A with diaeresis, + U+00C4 ISOlat1 --> +<!ENTITY Aring "Å"> <!-- latin capital letter A with ring above + = latin capital letter A ring, + U+00C5 ISOlat1 --> +<!ENTITY AElig "Æ"> <!-- latin capital letter AE + = latin capital ligature AE, + U+00C6 ISOlat1 --> +<!ENTITY Ccedil "Ç"> <!-- latin capital letter C with cedilla, + U+00C7 ISOlat1 --> +<!ENTITY Egrave "È"> <!-- latin capital letter E with grave, + U+00C8 ISOlat1 --> +<!ENTITY Eacute "É"> <!-- latin capital letter E with acute, + U+00C9 ISOlat1 --> +<!ENTITY Ecirc "Ê"> <!-- latin capital letter E with circumflex, + U+00CA ISOlat1 --> +<!ENTITY Euml "Ë"> <!-- latin capital letter E with diaeresis, + U+00CB ISOlat1 --> +<!ENTITY Igrave "Ì"> <!-- latin capital letter I with grave, + U+00CC ISOlat1 --> +<!ENTITY Iacute "Í"> <!-- latin capital letter I with acute, + U+00CD ISOlat1 --> +<!ENTITY Icirc "Î"> <!-- latin capital letter I with circumflex, + U+00CE ISOlat1 --> +<!ENTITY Iuml "Ï"> <!-- latin capital letter I with diaeresis, + U+00CF ISOlat1 --> +<!ENTITY ETH "Ð"> <!-- latin capital letter ETH, U+00D0 ISOlat1 --> +<!ENTITY Ntilde "Ñ"> <!-- latin capital letter N with tilde, + U+00D1 ISOlat1 --> +<!ENTITY Ograve "Ò"> <!-- latin capital letter O with grave, + U+00D2 ISOlat1 --> +<!ENTITY Oacute "Ó"> <!-- latin capital letter O with acute, + U+00D3 ISOlat1 --> +<!ENTITY Ocirc "Ô"> <!-- latin capital letter O with circumflex, + U+00D4 ISOlat1 --> +<!ENTITY Otilde "Õ"> <!-- latin capital letter O with tilde, + U+00D5 ISOlat1 --> +<!ENTITY Ouml "Ö"> <!-- latin capital letter O with diaeresis, + U+00D6 ISOlat1 --> +<!ENTITY times "×"> <!-- multiplication sign, U+00D7 ISOnum --> +<!ENTITY Oslash "Ø"> <!-- latin capital letter O with stroke + = latin capital letter O slash, + U+00D8 ISOlat1 --> +<!ENTITY Ugrave "Ù"> <!-- latin capital letter U with grave, + U+00D9 ISOlat1 --> +<!ENTITY Uacute "Ú"> <!-- latin capital letter U with acute, + U+00DA ISOlat1 --> +<!ENTITY Ucirc "Û"> <!-- latin capital letter U with circumflex, + U+00DB ISOlat1 --> +<!ENTITY Uuml "Ü"> <!-- latin capital letter U with diaeresis, + U+00DC ISOlat1 --> +<!ENTITY Yacute "Ý"> <!-- latin capital letter Y with acute, + U+00DD ISOlat1 --> +<!ENTITY THORN "Þ"> <!-- latin capital letter THORN, + U+00DE ISOlat1 --> +<!ENTITY szlig "ß"> <!-- latin small letter sharp s = ess-zed, + U+00DF ISOlat1 --> +<!ENTITY agrave "à"> <!-- latin small letter a with grave + = latin small letter a grave, + U+00E0 ISOlat1 --> +<!ENTITY aacute "á"> <!-- latin small letter a with acute, + U+00E1 ISOlat1 --> +<!ENTITY acirc "â"> <!-- latin small letter a with circumflex, + U+00E2 ISOlat1 --> +<!ENTITY atilde "ã"> <!-- latin small letter a with tilde, + U+00E3 ISOlat1 --> +<!ENTITY auml "ä"> <!-- latin small letter a with diaeresis, + U+00E4 ISOlat1 --> +<!ENTITY aring "å"> <!-- latin small letter a with ring above + = latin small letter a ring, + U+00E5 ISOlat1 --> +<!ENTITY aelig "æ"> <!-- latin small letter ae + = latin small ligature ae, U+00E6 ISOlat1 --> +<!ENTITY ccedil "ç"> <!-- latin small letter c with cedilla, + U+00E7 ISOlat1 --> +<!ENTITY egrave "è"> <!-- latin small letter e with grave, + U+00E8 ISOlat1 --> +<!ENTITY eacute "é"> <!-- latin small letter e with acute, + U+00E9 ISOlat1 --> +<!ENTITY ecirc "ê"> <!-- latin small letter e with circumflex, + U+00EA ISOlat1 --> +<!ENTITY euml "ë"> <!-- latin small letter e with diaeresis, + U+00EB ISOlat1 --> +<!ENTITY igrave "ì"> <!-- latin small letter i with grave, + U+00EC ISOlat1 --> +<!ENTITY iacute "í"> <!-- latin small letter i with acute, + U+00ED ISOlat1 --> +<!ENTITY icirc "î"> <!-- latin small letter i with circumflex, + U+00EE ISOlat1 --> +<!ENTITY iuml "ï"> <!-- latin small letter i with diaeresis, + U+00EF ISOlat1 --> +<!ENTITY eth "ð"> <!-- latin small letter eth, U+00F0 ISOlat1 --> +<!ENTITY ntilde "ñ"> <!-- latin small letter n with tilde, + U+00F1 ISOlat1 --> +<!ENTITY ograve "ò"> <!-- latin small letter o with grave, + U+00F2 ISOlat1 --> +<!ENTITY oacute "ó"> <!-- latin small letter o with acute, + U+00F3 ISOlat1 --> +<!ENTITY ocirc "ô"> <!-- latin small letter o with circumflex, + U+00F4 ISOlat1 --> +<!ENTITY otilde "õ"> <!-- latin small letter o with tilde, + U+00F5 ISOlat1 --> +<!ENTITY ouml "ö"> <!-- latin small letter o with diaeresis, + U+00F6 ISOlat1 --> +<!ENTITY divide "÷"> <!-- division sign, U+00F7 ISOnum --> +<!ENTITY oslash "ø"> <!-- latin small letter o with stroke, + = latin small letter o slash, + U+00F8 ISOlat1 --> +<!ENTITY ugrave "ù"> <!-- latin small letter u with grave, + U+00F9 ISOlat1 --> +<!ENTITY uacute "ú"> <!-- latin small letter u with acute, + U+00FA ISOlat1 --> +<!ENTITY ucirc "û"> <!-- latin small letter u with circumflex, + U+00FB ISOlat1 --> +<!ENTITY uuml "ü"> <!-- latin small letter u with diaeresis, + U+00FC ISOlat1 --> +<!ENTITY yacute "ý"> <!-- latin small letter y with acute, + U+00FD ISOlat1 --> +<!ENTITY thorn "þ"> <!-- latin small letter thorn, + U+00FE ISOlat1 --> +<!ENTITY yuml "ÿ"> <!-- latin small letter y with diaeresis, + U+00FF ISOlat1 --> diff --git a/documentation/dtd/xhtml-special.ent b/documentation/dtd/xhtml-special.ent new file mode 100644 index 0000000..fefb15d --- /dev/null +++ b/documentation/dtd/xhtml-special.ent @@ -0,0 +1,77 @@ +<!-- Special characters for HTML --> + +<!-- Character entity set. Typical invocation: + <!ENTITY % HTMLspecial PUBLIC + "-//W3C//ENTITIES Special//EN//HTML"> + %HTMLspecial; --> + +<!-- Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. +--> + +<!-- Relevant ISO entity set is given unless names are newly introduced. + New names (i.e., not in ISO 8879 list) do not clash with any + existing ISO 8879 entity names. ISO 10646 character numbers + are given for each character, in hex. values are decimal + conversions of the ISO 10646 values and refer to the document + character set. Names are ISO 10646 names. + +--> + +<!-- C0 Controls and Basic Latin --> +<!ENTITY quot """> <!-- quotation mark = APL quote, + U+0022 ISOnum --> +<!ENTITY amp "&"> <!-- ampersand, U+0026 ISOnum --> +<!ENTITY lt "<"> <!-- less-than sign, U+003C ISOnum --> +<!ENTITY gt ">"> <!-- greater-than sign, U+003E ISOnum --> + +<!-- Latin Extended-A --> +<!ENTITY OElig "Œ"> <!-- latin capital ligature OE, + U+0152 ISOlat2 --> +<!ENTITY oelig "œ"> <!-- latin small ligature oe, U+0153 ISOlat2 --> +<!-- ligature is a misnomer, this is a separate character in some languages --> +<!ENTITY Scaron "Š"> <!-- latin capital letter S with caron, + U+0160 ISOlat2 --> +<!ENTITY scaron "š"> <!-- latin small letter s with caron, + U+0161 ISOlat2 --> +<!ENTITY Yuml "Ÿ"> <!-- latin capital letter Y with diaeresis, + U+0178 ISOlat2 --> + +<!-- Spacing Modifier Letters --> +<!ENTITY circ "ˆ"> <!-- modifier letter circumflex accent, + U+02C6 ISOpub --> +<!ENTITY tilde "˜"> <!-- small tilde, U+02DC ISOdia --> + +<!-- General Punctuation --> +<!ENTITY ensp " "> <!-- en space, U+2002 ISOpub --> +<!ENTITY emsp " "> <!-- em space, U+2003 ISOpub --> +<!ENTITY thinsp " "> <!-- thin space, U+2009 ISOpub --> +<!ENTITY zwnj "‌"> <!-- zero width non-joiner, + U+200C NEW RFC 2070 --> +<!ENTITY zwj "‍"> <!-- zero width joiner, U+200D NEW RFC 2070 --> +<!ENTITY lrm "‎"> <!-- left-to-right mark, U+200E NEW RFC 2070 --> +<!ENTITY rlm "‏"> <!-- right-to-left mark, U+200F NEW RFC 2070 --> +<!ENTITY ndash "–"> <!-- en dash, U+2013 ISOpub --> +<!ENTITY mdash "—"> <!-- em dash, U+2014 ISOpub --> +<!ENTITY lsquo "‘"> <!-- left single quotation mark, + U+2018 ISOnum --> +<!ENTITY rsquo "’"> <!-- right single quotation mark, + U+2019 ISOnum --> +<!ENTITY sbquo "‚"> <!-- single low-9 quotation mark, U+201A NEW --> +<!ENTITY ldquo "“"> <!-- left double quotation mark, + U+201C ISOnum --> +<!ENTITY rdquo "”"> <!-- right double quotation mark, + U+201D ISOnum --> +<!ENTITY bdquo "„"> <!-- double low-9 quotation mark, U+201E NEW --> +<!ENTITY dagger "†"> <!-- dagger, U+2020 ISOpub --> +<!ENTITY Dagger "‡"> <!-- double dagger, U+2021 ISOpub --> +<!ENTITY permil "‰"> <!-- per mille sign, U+2030 ISOtech --> +<!ENTITY lsaquo "‹"> <!-- single left-pointing angle quotation mark, + U+2039 ISO proposed --> +<!-- lsaquo is proposed but not yet ISO standardized --> +<!ENTITY rsaquo "›"> <!-- single right-pointing angle quotation mark, + U+203A ISO proposed --> +<!-- rsaquo is proposed but not yet ISO standardized --> +<!ENTITY euro "€"> <!-- euro sign, U+20AC NEW --> diff --git a/documentation/dtd/xhtml-symbol.ent b/documentation/dtd/xhtml-symbol.ent new file mode 100644 index 0000000..e950aad --- /dev/null +++ b/documentation/dtd/xhtml-symbol.ent @@ -0,0 +1,241 @@ +<!-- Mathematical, Greek and Symbolic characters for HTML --> + +<!-- Character entity set. Typical invocation: + <!ENTITY % HTMLsymbol PUBLIC + "-//W3C//ENTITIES Symbols//EN//HTML"> + %HTMLsymbol; --> + +<!-- Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. +--> + +<!-- Relevant ISO entity set is given unless names are newly introduced. + New names (i.e., not in ISO 8879 list) do not clash with any + existing ISO 8879 entity names. ISO 10646 character numbers + are given for each character, in hex. values are decimal + conversions of the ISO 10646 values and refer to the document + character set. Names are ISO 10646 names. + +--> + +<!-- Latin Extended-B --> +<!ENTITY fnof "ƒ"> <!-- latin small f with hook = function + = florin, U+0192 ISOtech --> + +<!-- Greek --> +<!ENTITY Alpha "Α"> <!-- greek capital letter alpha, U+0391 --> +<!ENTITY Beta "Β"> <!-- greek capital letter beta, U+0392 --> +<!ENTITY Gamma "Γ"> <!-- greek capital letter gamma, + U+0393 ISOgrk3 --> +<!ENTITY Delta "Δ"> <!-- greek capital letter delta, + U+0394 ISOgrk3 --> +<!ENTITY Epsilon "Ε"> <!-- greek capital letter epsilon, U+0395 --> +<!ENTITY Zeta "Ζ"> <!-- greek capital letter zeta, U+0396 --> +<!ENTITY Eta "Η"> <!-- greek capital letter eta, U+0397 --> +<!ENTITY Theta "Θ"> <!-- greek capital letter theta, + U+0398 ISOgrk3 --> +<!ENTITY Iota "Ι"> <!-- greek capital letter iota, U+0399 --> +<!ENTITY Kappa "Κ"> <!-- greek capital letter kappa, U+039A --> +<!ENTITY Lambda "Λ"> <!-- greek capital letter lambda, + U+039B ISOgrk3 --> +<!ENTITY Mu "Μ"> <!-- greek capital letter mu, U+039C --> +<!ENTITY Nu "Ν"> <!-- greek capital letter nu, U+039D --> +<!ENTITY Xi "Ξ"> <!-- greek capital letter xi, U+039E ISOgrk3 --> +<!ENTITY Omicron "Ο"> <!-- greek capital letter omicron, U+039F --> +<!ENTITY Pi "Π"> <!-- greek capital letter pi, U+03A0 ISOgrk3 --> +<!ENTITY Rho "Ρ"> <!-- greek capital letter rho, U+03A1 --> +<!-- there is no Sigmaf, and no U+03A2 character either --> +<!ENTITY Sigma "Σ"> <!-- greek capital letter sigma, + U+03A3 ISOgrk3 --> +<!ENTITY Tau "Τ"> <!-- greek capital letter tau, U+03A4 --> +<!ENTITY Upsilon "Υ"> <!-- greek capital letter upsilon, + U+03A5 ISOgrk3 --> +<!ENTITY Phi "Φ"> <!-- greek capital letter phi, + U+03A6 ISOgrk3 --> +<!ENTITY Chi "Χ"> <!-- greek capital letter chi, U+03A7 --> +<!ENTITY Psi "Ψ"> <!-- greek capital letter psi, + U+03A8 ISOgrk3 --> +<!ENTITY Omega "Ω"> <!-- greek capital letter omega, + U+03A9 ISOgrk3 --> + +<!ENTITY alpha "α"> <!-- greek small letter alpha, + U+03B1 ISOgrk3 --> +<!ENTITY beta "β"> <!-- greek small letter beta, U+03B2 ISOgrk3 --> +<!ENTITY gamma "γ"> <!-- greek small letter gamma, + U+03B3 ISOgrk3 --> +<!ENTITY delta "δ"> <!-- greek small letter delta, + U+03B4 ISOgrk3 --> +<!ENTITY epsilon "ε"> <!-- greek small letter epsilon, + U+03B5 ISOgrk3 --> +<!ENTITY zeta "ζ"> <!-- greek small letter zeta, U+03B6 ISOgrk3 --> +<!ENTITY eta "η"> <!-- greek small letter eta, U+03B7 ISOgrk3 --> +<!ENTITY theta "θ"> <!-- greek small letter theta, + U+03B8 ISOgrk3 --> +<!ENTITY iota "ι"> <!-- greek small letter iota, U+03B9 ISOgrk3 --> +<!ENTITY kappa "κ"> <!-- greek small letter kappa, + U+03BA ISOgrk3 --> +<!ENTITY lambda "λ"> <!-- greek small letter lambda, + U+03BB ISOgrk3 --> +<!ENTITY mu "μ"> <!-- greek small letter mu, U+03BC ISOgrk3 --> +<!ENTITY nu "ν"> <!-- greek small letter nu, U+03BD ISOgrk3 --> +<!ENTITY xi "ξ"> <!-- greek small letter xi, U+03BE ISOgrk3 --> +<!ENTITY omicron "ο"> <!-- greek small letter omicron, U+03BF NEW --> +<!ENTITY pi "π"> <!-- greek small letter pi, U+03C0 ISOgrk3 --> +<!ENTITY rho "ρ"> <!-- greek small letter rho, U+03C1 ISOgrk3 --> +<!ENTITY sigmaf "ς"> <!-- greek small letter final sigma, + U+03C2 ISOgrk3 --> +<!ENTITY sigma "σ"> <!-- greek small letter sigma, + U+03C3 ISOgrk3 --> +<!ENTITY tau "τ"> <!-- greek small letter tau, U+03C4 ISOgrk3 --> +<!ENTITY upsilon "υ"> <!-- greek small letter upsilon, + U+03C5 ISOgrk3 --> +<!ENTITY phi "φ"> <!-- greek small letter phi, U+03C6 ISOgrk3 --> +<!ENTITY chi "χ"> <!-- greek small letter chi, U+03C7 ISOgrk3 --> +<!ENTITY psi "ψ"> <!-- greek small letter psi, U+03C8 ISOgrk3 --> +<!ENTITY omega "ω"> <!-- greek small letter omega, + U+03C9 ISOgrk3 --> +<!ENTITY thetasym "ϑ"> <!-- greek small letter theta symbol, + U+03D1 NEW --> +<!ENTITY upsih "ϒ"> <!-- greek upsilon with hook symbol, + U+03D2 NEW --> +<!ENTITY piv "ϖ"> <!-- greek pi symbol, U+03D6 ISOgrk3 --> + +<!-- General Punctuation --> +<!ENTITY bull "•"> <!-- bullet = black small circle, + U+2022 ISOpub --> +<!-- bullet is NOT the same as bullet operator, U+2219 --> +<!ENTITY hellip "…"> <!-- horizontal ellipsis = three dot leader, + U+2026 ISOpub --> +<!ENTITY prime "′"> <!-- prime = minutes = feet, U+2032 ISOtech --> +<!ENTITY Prime "″"> <!-- double prime = seconds = inches, + U+2033 ISOtech --> +<!ENTITY oline "‾"> <!-- overline = spacing overscore, + U+203E NEW --> +<!ENTITY frasl "⁄"> <!-- fraction slash, U+2044 NEW --> + +<!-- Letterlike Symbols --> +<!ENTITY weierp "℘"> <!-- script capital P = power set + = Weierstrass p, U+2118 ISOamso --> +<!ENTITY image "ℑ"> <!-- blackletter capital I = imaginary part, + U+2111 ISOamso --> +<!ENTITY real "ℜ"> <!-- blackletter capital R = real part symbol, + U+211C ISOamso --> +<!ENTITY trade "™"> <!-- trade mark sign, U+2122 ISOnum --> +<!ENTITY alefsym "ℵ"> <!-- alef symbol = first transfinite cardinal, + U+2135 NEW --> +<!-- alef symbol is NOT the same as hebrew letter alef, + U+05D0 although the same glyph could be used to depict both characters --> + +<!-- Arrows --> +<!ENTITY larr "←"> <!-- leftwards arrow, U+2190 ISOnum --> +<!ENTITY uarr "↑"> <!-- upwards arrow, U+2191 ISOnum--> +<!ENTITY rarr "→"> <!-- rightwards arrow, U+2192 ISOnum --> +<!ENTITY darr "↓"> <!-- downwards arrow, U+2193 ISOnum --> +<!ENTITY harr "↔"> <!-- left right arrow, U+2194 ISOamsa --> +<!ENTITY crarr "↵"> <!-- downwards arrow with corner leftwards + = carriage return, U+21B5 NEW --> +<!ENTITY lArr "⇐"> <!-- leftwards double arrow, U+21D0 ISOtech --> +<!-- ISO 10646 does not say that lArr is the same as the 'is implied by' arrow + but also does not have any other character for that function. So ? lArr can + be used for 'is implied by' as ISOtech suggests --> +<!ENTITY uArr "⇑"> <!-- upwards double arrow, U+21D1 ISOamsa --> +<!ENTITY rArr "⇒"> <!-- rightwards double arrow, + U+21D2 ISOtech --> +<!-- ISO 10646 does not say this is the 'implies' character but does not have + another character with this function so ? + rArr can be used for 'implies' as ISOtech suggests --> +<!ENTITY dArr "⇓"> <!-- downwards double arrow, U+21D3 ISOamsa --> +<!ENTITY hArr "⇔"> <!-- left right double arrow, + U+21D4 ISOamsa --> + +<!-- Mathematical Operators --> +<!ENTITY forall "∀"> <!-- for all, U+2200 ISOtech --> +<!ENTITY part "∂"> <!-- partial differential, U+2202 ISOtech --> +<!ENTITY exist "∃"> <!-- there exists, U+2203 ISOtech --> +<!ENTITY empty "∅"> <!-- empty set = null set = diameter, + U+2205 ISOamso --> +<!ENTITY nabla "∇"> <!-- nabla = backward difference, + U+2207 ISOtech --> +<!ENTITY isin "∈"> <!-- element of, U+2208 ISOtech --> +<!ENTITY notin "∉"> <!-- not an element of, U+2209 ISOtech --> +<!ENTITY ni "∋"> <!-- contains as member, U+220B ISOtech --> +<!-- should there be a more memorable name than 'ni'? --> +<!ENTITY prod "∏"> <!-- n-ary product = product sign, + U+220F ISOamsb --> +<!-- prod is NOT the same character as U+03A0 'greek capital letter pi' though + the same glyph might be used for both --> +<!ENTITY sum "∑"> <!-- n-ary sumation, U+2211 ISOamsb --> +<!-- sum is NOT the same character as U+03A3 'greek capital letter sigma' + though the same glyph might be used for both --> +<!ENTITY minus "−"> <!-- minus sign, U+2212 ISOtech --> +<!ENTITY lowast "∗"> <!-- asterisk operator, U+2217 ISOtech --> +<!ENTITY radic "√"> <!-- square root = radical sign, + U+221A ISOtech --> +<!ENTITY prop "∝"> <!-- proportional to, U+221D ISOtech --> +<!ENTITY infin "∞"> <!-- infinity, U+221E ISOtech --> +<!ENTITY ang "∠"> <!-- angle, U+2220 ISOamso --> +<!ENTITY and "∧"> <!-- logical and = wedge, U+2227 ISOtech --> +<!ENTITY or "∨"> <!-- logical or = vee, U+2228 ISOtech --> +<!ENTITY cap "∩"> <!-- intersection = cap, U+2229 ISOtech --> +<!ENTITY cup "∪"> <!-- union = cup, U+222A ISOtech --> +<!ENTITY int "∫"> <!-- integral, U+222B ISOtech --> +<!ENTITY there4 "∴"> <!-- therefore, U+2234 ISOtech --> +<!ENTITY sim "∼"> <!-- tilde operator = varies with = similar to, + U+223C ISOtech --> +<!-- tilde operator is NOT the same character as the tilde, U+007E, + although the same glyph might be used to represent both --> +<!ENTITY cong "≅"> <!-- approximately equal to, U+2245 ISOtech --> +<!ENTITY asymp "≈"> <!-- almost equal to = asymptotic to, + U+2248 ISOamsr --> +<!ENTITY ne "≠"> <!-- not equal to, U+2260 ISOtech --> +<!ENTITY equiv "≡"> <!-- identical to, U+2261 ISOtech --> +<!ENTITY le "≤"> <!-- less-than or equal to, U+2264 ISOtech --> +<!ENTITY ge "≥"> <!-- greater-than or equal to, + U+2265 ISOtech --> +<!ENTITY sub "⊂"> <!-- subset of, U+2282 ISOtech --> +<!ENTITY sup "⊃"> <!-- superset of, U+2283 ISOtech --> +<!-- note that nsup, 'not a superset of, U+2283' is not covered by the Symbol + font encoding and is not included. Should it be, for symmetry? + It is in ISOamsn --> +<!ENTITY nsub "⊄"> <!-- not a subset of, U+2284 ISOamsn --> +<!ENTITY sube "⊆"> <!-- subset of or equal to, U+2286 ISOtech --> +<!ENTITY supe "⊇"> <!-- superset of or equal to, + U+2287 ISOtech --> +<!ENTITY oplus "⊕"> <!-- circled plus = direct sum, + U+2295 ISOamsb --> +<!ENTITY otimes "⊗"> <!-- circled times = vector product, + U+2297 ISOamsb --> +<!ENTITY perp "⊥"> <!-- up tack = orthogonal to = perpendicular, + U+22A5 ISOtech --> +<!ENTITY sdot "⋅"> <!-- dot operator, U+22C5 ISOamsb --> +<!-- dot operator is NOT the same character as U+00B7 middle dot --> + +<!-- Miscellaneous Technical --> +<!ENTITY lceil "⌈"> <!-- left ceiling = apl upstile, + U+2308 ISOamsc --> +<!ENTITY rceil "⌉"> <!-- right ceiling, U+2309 ISOamsc --> +<!ENTITY lfloor "⌊"> <!-- left floor = apl downstile, + U+230A ISOamsc --> +<!ENTITY rfloor "⌋"> <!-- right floor, U+230B ISOamsc --> +<!ENTITY lang "〈"> <!-- left-pointing angle bracket = bra, + U+2329 ISOtech --> +<!-- lang is NOT the same character as U+003C 'less than' + or U+2039 'single left-pointing angle quotation mark' --> +<!ENTITY rang "〉"> <!-- right-pointing angle bracket = ket, + U+232A ISOtech --> +<!-- rang is NOT the same character as U+003E 'greater than' + or U+203A 'single right-pointing angle quotation mark' --> + +<!-- Geometric Shapes --> +<!ENTITY loz "◊"> <!-- lozenge, U+25CA ISOpub --> + +<!-- Miscellaneous Symbols --> +<!ENTITY spades "♠"> <!-- black spade suit, U+2660 ISOpub --> +<!-- black here seems to mean filled as opposed to hollow --> +<!ENTITY clubs "♣"> <!-- black club suit = shamrock, + U+2663 ISOpub --> +<!ENTITY hearts "♥"> <!-- black heart suit = valentine, + U+2665 ISOpub --> +<!ENTITY diams "♦"> <!-- black diamond suit, U+2666 ISOpub --> diff --git a/documentation/lcd4linux/Makefile b/documentation/lcd4linux/Makefile new file mode 100644 index 0000000..2519f22 --- /dev/null +++ b/documentation/lcd4linux/Makefile @@ -0,0 +1,59 @@ +# Path +DIR = $(notdir $(PWD)) +OUTPUT = ../HTML + +ifeq "$(DIR)" "lcd4linux" + DIR = +endif + +ifeq "$(DIR)" "" + XSLTPROC = xsltproc +else + XSLTPROC = xsltproc --stringparam class $(DIR) --stringparam root "../" +endif + +XMLVALID = xmllint --noout --valid + +NAMES=$(shell find . -name "*.xml" -exec basename {} .xml \;) + +html: $(patsubst %.xml,%.html,$(wildcard *.xml)) +html-forced: $(patsubst %.xml,%.html-forced,$(wildcard *.xml)) + +%.html: %.xml %.xml-check output + $(XSLTPROC) $< > $(OUTPUT)/$(DIR)/$@ + +%.html-forced: %.xml output + $(XSLTPROC) $< > $(OUTPUT)/$(DIR)/$(patsubst %.xml,%.html,$<) + +check: $(patsubst %.xml, %.xml-check, $(wildcard *.xml)) + +%.xml-check: %.xml + @echo "*** Validation of $<" + $(XMLVALID) $< + +output: + test -d $(OUTPUT) || `mkdir $(OUTPUT); cp ../data/doc.css $(OUTPUT); cp -R ../data/images $(OUTPUT)` + test -d $(OUTPUT)/$(DIR) || mkdir $(OUTPUT)/$(DIR) + +clean: + rm -f $(OUTPUT)/$(DIR)/*.html + +clean-bak: + rm -f *~ *.bak + +help: + @echo -e "" + @echo -e "Usage :" + @echo -e "-------" + @echo -e "make or make html : builds all possible html pages from xml files" + @echo -e "make %.html : builds the %.html page from %.xml" + @echo -e "" + @echo -e "make html-forced : builds all possible html pages from xml files (no validity check)" + @echo -e "make %.html-forced : builds the %.html page from %.xml (no validity check)" + @echo -e "" + @echo -e "make check : checks the validity of all possible xml files" + @echo -e "make %.xml-check : checks the validity of %.xml" + @echo -e "" + @echo -e "make clean : deletes all generated html pages" + @echo -e "make clean-bak : deletes *~ and *.bak files" + @echo -e "" diff --git a/documentation/lcd4linux/bug_report.xml b/documentation/lcd4linux/bug_report.xml new file mode 100644 index 0000000..49bf743 --- /dev/null +++ b/documentation/lcd4linux/bug_report.xml @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?> +<?xml-stylesheet type="text/xsl" href="../xsl/doc.xsl"?> +<!DOCTYPE doc SYSTEM "../dtd/doc.dtd"> +<doc> +<head> + <title>How to report bugs or get support</title> + <ref>bug_report</ref> + <links> + <link ref="contact"/> + </links> +</head> +<body> +You've checked twice your configuration, but &l4l; keeps complaining, prints horrible things on your display or even crashes. What to do ? + +<h2>Configuration problems and minor bugs</h2> +<ul> +<li>Your display doesn't want to work, prints strange things or keeps blank ?</li> +<li>You can't get a plugin to work, there are ???? or **** where you wanted to display the temperature ?</li> +<li>You noticed a strange behavior from &l4l; or a plugin ?</li> +</ul> +You should contact the lcd4linux-users maillist, and post a detailled report containing at least : +<ul> +<li>the &l4l; version you use.</li> +<li>a description of what happens</li> +<li>if relevant, a description of your display (especially for HD44780-based displays)</li> +<li>a log of &l4l; output ( <tt>lcd4linux -vvv > log</tt> )</li> +<li>a copy of your lcd4linux.conf file</li> +</ul> +<note>If you use some plugins (mysql, mail, ...), lcd4linux.conf may contain passwords and other private information. For your privacy, we recommend you to replace these information with ***** before attaching your configuration file</note> + +</body> +</doc> diff --git a/documentation/lcd4linux/example.xml b/documentation/lcd4linux/example.xml new file mode 100644 index 0000000..63702e0 --- /dev/null +++ b/documentation/lcd4linux/example.xml @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?> +<?xml-stylesheet type="text/xsl" href="../xsl/doc.xsl"?> +<!DOCTYPE doc SYSTEM "../dtd/doc.dtd"> +<doc> +<head> + <title>The title of the page The title of the page</title> + <version>0.1</version> + <ref>doc_example</ref> + <links> + <link ref="i2c_sensors"/> + <link url="http://lcd4linux.sf.net"/> + <link url="http://lcd4linux.sf.net">SourceForge</link> + </links> + <history> + <revision version="0.1" by="Xavier"> + The first, and only version ever ;) + </revision> + <revision version="0.0" by="Xavier"> + TEST + </revision> + </history> + <state finished="true" proofread="true"/> +</head> +<body> +<h2>This is the text of the page, we can use xhtml tags here and there are some helpers : </h2> +<cmd><cmd> Will be used to indicate <tt>console commands</tt>, or other things</cmd> +<conf><conf> Is to format lcd4linux.conf examples</conf> +<note><note> Will display a div with the message, to add a tip, or an explanation</note> +<warn><warn> Will work just as <note>, but for more important messages</warn> +<new date="01/01/01" title="test new"><new> is to display boxes with news, for the main page or, as an example for displays/plugins pages to show news in the features</new> <br /> + +<link ref="plugin_i2c_sensors"/> + +There will be other helpers : <image>, <link>, <table> ...<br /> + +If you look at the sources of this page, there are a lot of information in the head. They will be used for internal processing, and some will be displayed (for example <links> will define links to be put in a 'See also' box, with links to related articles, websites, ...<br /> + +We'll use 'standard' xhtml tags <br /> <b><b></b> <i><i></i> <tt><tt></tt> <small><small></small> <big><big></big> and others, not really proceced by xslt. + <h2><h2></h2> <h3><h3></h3> <h4><h4></h4> <h5><h5></h5> <h6><h6></h6> + + <h2>test</h2> + <h3>one</h3> + <h3>two</h3> + <h3>three</h3> + <h2>AAAA</h2> + <h3>one</h3> + <h3>two</h3> + <h3>three</h3> +</body> +</doc> diff --git a/documentation/lcd4linux/index.xml b/documentation/lcd4linux/index.xml new file mode 100644 index 0000000..93f75eb --- /dev/null +++ b/documentation/lcd4linux/index.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?> +<?xml-stylesheet type="text/xsl" href="../xsl/doc.xsl"?> +<!DOCTYPE doc SYSTEM "../dtd/doc.dtd"> +<doc> +<head> + <title>&L4L; documentation index</title> + <ref>index</ref> +</head> +<body> +<h2>&L4L;</h2> +<index/> +<h2><a href="drivers/index.html">Drivers</a></h2> +<index class="drivers"/> +<h2><a href="plugins/index.html">Plugins</a></h2> +<index class="plugins"/> +</body> +</doc> diff --git a/documentation/lcd4linux/write_doc.xml b/documentation/lcd4linux/write_doc.xml new file mode 100644 index 0000000..b8d243d --- /dev/null +++ b/documentation/lcd4linux/write_doc.xml @@ -0,0 +1,102 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?> +<?xml-stylesheet type="text/xsl" href="../xsl/doc.xsl"?> +<!DOCTYPE doc SYSTEM "../dtd/doc.dtd"> +<doc> +<head> + <title>How to write documentation for &l4l; ?</title> + <ref>write_doc</ref> +<!-- <links> + <link ref="i2c_sensors"/> + </links>--> +</head> +<body> +<h2>Overview</h2> +<p>The &l4l; documentation is composed of XML files which are processed with XSL stylesheets to produce XHTML files. +There these XML files are writen in a syntax similar to the HTML syntax, plus some helpers.</p> +<p>The whole documentation is generated through a make system, which uses <tt>xmllint</tt> to check the validy of the xml files and <tt>xsltproc</tt> to process them and generate the XHTML pages. <i>These two programs are mandatory</i></p> + +<h2>The syntax</h2> +A doc page looks like this : +<conf><?xml version="1.0" encoding="UTF-8" standalone="no" ?> +<?xml-stylesheet type="text/xsl" href="../xsl/doc.xsl"?> +<!DOCTYPE doc SYSTEM "../dtd/doc.dtd"> +<doc> +<head> + <title>How to write documentation for &l4l; ?</title> + <ref>write_doc</ref> + <links> + <link ref="http://lcd4linux.sf.net"/> + </links> +</head> +<body> +... +</body> +</doc> +</conf> + +<li>The three first lines are the preambule of the file, don't touch them.</li> +<li>The root of the document is <tt><doc></tt>, it's the equivalent of <html>.</li> +<li>Then, there's a <tt><head></tt> node, containing the information about the page. See later for the childs.</li> +<li>The core of the doc is the <body> node, like in HTML, containing the content.</li> + +<h3>The <head></h3> +The head contains some information about the document : +<li><title> is the title of the document, which will be displayed as a <h1></li> +<li><ref> is a unique reference for the document, which is assumed to be the same as in <i>references.xml</i> (we'll discuss later about this file)</li> +<li><links> is the section responsible of the "See Alo" box, containing links to other help pages, or to urls. It can contain several <link> elements, whose syntax is explained in the next part.</li> +<li>There may be other elements, but we'll only use these ones for now.</li> + +<h3>The helpers</h3> +You can use a lot of helpers in the body : +<li><link> is a helper to create links. It is used with one of these two arguments : +<ul> +<li><tt><link ref="xxx"/></tt> will create a link to the documentation page associated with this reference (defined in <i>references.xml</i>)</li> +<li><tt><link url="http://..."/></tt> will create a link to the url</li> +</ul> +Note that if you don't provide a text, the text of the link will be the label of the reference or the url. You can specify a text writing <tt><link url="http://...">TEXT</link></tt> +</li> +<warn>As this is XML, you <b>must</b> close all the tags you open, or use self-closing tags for empty ones :<br/>For example, you have to write <tt><br/></tt> but not <tt><br>.</tt></warn> + +<li><cmd> Opens a box with write text on black background, used to indicate something's happening in a console (compilation, logs, ...). The text is in "pre" mode, so spaces and newlines are kept, no need of &nbsp; or <br/>, <b>But beware of < and ></b> (you must replace them with &lt; and &gt;)</li> +<cmd>xav:~$ echo "An example of <cmd> box" +An example of <cmd> box +xav:~$ +</cmd> +<li><conf> works like <cmd> but with black text on grey background, to print lcd4linux.conf examples.</li> +<conf>Widget Lightning { + class 'icon' + speed 100 + visible cpu('busy', 500)-50 + bitmap { + row1 '...***' + row2 '..***.' + row3 '.***..' + row4 '.****.' + row5 '..**..' + row6 '.**...' + row7 '**....' + row8 '*.....' + } +}</conf> +<li><note> is to display a box with a small icon, to point out a detail, or an advice</li> +<note>To dry a wet cat, don't put it in a microwave ;)</note> +<li><warn> works like <note> but with a red exclamation mark and a red border, to display warnings. In general, use a note for a detail or an advice and warn to point configuration problems, hardware hazards, or other happy things ;)</li> +<warn>We're not responsible for damages caused to your microwave if you don't read the above note !</warn> +<li><index> is a cool thing. It displays the list of pages of a specified class. It's used to display indexes. For example <index class="drivers"/> will display a list of all pages about drivers. If there's no class specified, it'll parse the list of pages of the "lcd4linux" class.</li> +<li><new> is in the DTD, but is not yet implemented :/</li> +<li>You can use any other XHTML-valid tag. The most used should be : <br/> <h2> <h3> <li> <b> <i> <tt> ...</li> + +<h3>references.xml</h3> +There's a file in <tt>data/</tt> called <tt>references.xml</tt>. It isn't processed directly, but is used to parse links and indexes. It's syntax is quite straightforward, so I won't explain it.<br/> +You must add a new entry in it for each page you write so that other pages can have links to it and index it. +<note>A null <class/> attribute corresponds to the lcd4linux class. It's not a bug, it's a feature, used to make links (the lcd4linux class is in the root of the documentation)</note> + +<h2>The compilation system</h2> +The documentation is compiled with a Makefile build system. There's a toplevel Makefile which calls the apropriate targets in each subdirs which contains xml files (for the moment, <tt>lcd4linux</tt>, <tt>drivers</tt> and <tt>plugins</tt>). In these subdirs, the Makefile is a link to <tt>Makefile.generic</tt>.<br/> +To compile the documentation, just type make at the toplevel, and look in the <tt>HTML</tt> folder. Type make help for help ;) +<warn>Two programs are mandatory to build the documentation : +<ul><li><tt>xmllint</tt> from libxml2 is used to validate the xml pages to be processed. It's in the debian package <tt>libxml2</tt></li> +<li><tt>xsltproc</tt> from libxslt processes the xml files to generate the html pages. It's in the libxslt tarballs or in the <tt>xsltproc</tt> debian package</li></ul> +</warn> +</body> +</doc> diff --git a/documentation/plugins/Makefile b/documentation/plugins/Makefile new file mode 100644 index 0000000..2519f22 --- /dev/null +++ b/documentation/plugins/Makefile @@ -0,0 +1,59 @@ +# Path +DIR = $(notdir $(PWD)) +OUTPUT = ../HTML + +ifeq "$(DIR)" "lcd4linux" + DIR = +endif + +ifeq "$(DIR)" "" + XSLTPROC = xsltproc +else + XSLTPROC = xsltproc --stringparam class $(DIR) --stringparam root "../" +endif + +XMLVALID = xmllint --noout --valid + +NAMES=$(shell find . -name "*.xml" -exec basename {} .xml \;) + +html: $(patsubst %.xml,%.html,$(wildcard *.xml)) +html-forced: $(patsubst %.xml,%.html-forced,$(wildcard *.xml)) + +%.html: %.xml %.xml-check output + $(XSLTPROC) $< > $(OUTPUT)/$(DIR)/$@ + +%.html-forced: %.xml output + $(XSLTPROC) $< > $(OUTPUT)/$(DIR)/$(patsubst %.xml,%.html,$<) + +check: $(patsubst %.xml, %.xml-check, $(wildcard *.xml)) + +%.xml-check: %.xml + @echo "*** Validation of $<" + $(XMLVALID) $< + +output: + test -d $(OUTPUT) || `mkdir $(OUTPUT); cp ../data/doc.css $(OUTPUT); cp -R ../data/images $(OUTPUT)` + test -d $(OUTPUT)/$(DIR) || mkdir $(OUTPUT)/$(DIR) + +clean: + rm -f $(OUTPUT)/$(DIR)/*.html + +clean-bak: + rm -f *~ *.bak + +help: + @echo -e "" + @echo -e "Usage :" + @echo -e "-------" + @echo -e "make or make html : builds all possible html pages from xml files" + @echo -e "make %.html : builds the %.html page from %.xml" + @echo -e "" + @echo -e "make html-forced : builds all possible html pages from xml files (no validity check)" + @echo -e "make %.html-forced : builds the %.html page from %.xml (no validity check)" + @echo -e "" + @echo -e "make check : checks the validity of all possible xml files" + @echo -e "make %.xml-check : checks the validity of %.xml" + @echo -e "" + @echo -e "make clean : deletes all generated html pages" + @echo -e "make clean-bak : deletes *~ and *.bak files" + @echo -e "" diff --git a/documentation/plugins/index.xml b/documentation/plugins/index.xml new file mode 100644 index 0000000..8e803ae --- /dev/null +++ b/documentation/plugins/index.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?> +<?xml-stylesheet type="text/xsl" href="../xsl/doc.xsl"?> +<!DOCTYPE doc SYSTEM "../dtd/doc.dtd"> +<doc> +<head> + <title>&L4L; plugins</title> + <ref>plugins_index</ref> + <links/> +</head> +<body> +<h2>Plugins</h2> +<index class="plugins"/> +</body> +</doc> diff --git a/documentation/xsl/body.xsl b/documentation/xsl/body.xsl new file mode 100644 index 0000000..8b13ebd --- /dev/null +++ b/documentation/xsl/body.xsl @@ -0,0 +1,20 @@ +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> +<!-- + XSL stylesheet for processing documentation for the lcd4linux project + Copyright 2004 Xavier Vello <xavier66@free.fr> + Copyright 2004 The LCD4Linux Team <lcd4linux-devel@users.sourceforge.net> +--> + +<!--The content of the page--> + +<xsl:template match="body" node="doc"> + <xsl:element name="body"> + <!--Here will be added html code for the layout--> + <xsl:apply-templates select="/doc/head/links"/> + <xsl:element name="h1"> + <xsl:value-of select="/doc/head/title"/> + </xsl:element> + <xsl:apply-templates/> + </xsl:element> +</xsl:template> +</xsl:stylesheet> diff --git a/documentation/xsl/doc.xsl b/documentation/xsl/doc.xsl new file mode 100644 index 0000000..1a2045f --- /dev/null +++ b/documentation/xsl/doc.xsl @@ -0,0 +1,29 @@ +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> +<!-- + XSL stylesheet for processing documentation for the lcd4linux project + Copyright 2004 Xavier Vello <xavier66@free.fr> + Copyright 2004 The LCD4Linux Team <lcd4linux-devel@users.sourceforge.net> +--> + +<xsl:output omit-xml-declaration="yes" method="xml" encoding="UTF-8" indent="yes" doctype-public="-//W3C//DTD XHTML 1.1//EN" doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"/> + +<xsl:variable name="references" select="document('../data/references.xml')/references"/> +<xsl:param name="class" select="''"/> +<xsl:param name="root" select="''"/> + +<!--Includes--> +<xsl:include href="head.xsl"/> +<xsl:include href="body.xsl"/> +<xsl:include href="helpers.xsl"/> +<xsl:include href="xhtml.xsl"/> +<xsl:include href="references.xsl"/> + +<!--The start point--> +<xsl:template match="doc"> + <xsl:element name="html"> + <xsl:apply-templates select="head"/> + <xsl:apply-templates select="body"/> + </xsl:element> +</xsl:template> + +</xsl:stylesheet> diff --git a/documentation/xsl/head.xsl b/documentation/xsl/head.xsl new file mode 100644 index 0000000..7d975dd --- /dev/null +++ b/documentation/xsl/head.xsl @@ -0,0 +1,68 @@ +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> +<!-- + XSL stylesheet for processing documentation for the lcd4linux project + Copyright 2004 Xavier Vello <xavier66@free.fr> + Copyright 2004 The LCD4Linux Team <lcd4linux-devel@users.sourceforge.net> +--> + +<!--The info node, to generate headers--> + +<xsl:template match="head" node="doc"> + <xsl:element name="head"> + <xsl:apply-templates select="title"/> + <xsl:apply-templates select="ref"/> + <xsl:element name="link"> + <xsl:attribute name="rel">stylesheet</xsl:attribute> + <xsl:attribute name="href"> + <xsl:copy-of select="$root"/> + <xsl:text>doc.css</xsl:text> + </xsl:attribute> + <xsl:attribute name="type">text/css</xsl:attribute> + </xsl:element> + </xsl:element> +</xsl:template> + +<xsl:template match="title" node="head"> + <xsl:element name="title"> + <xsl:value-of select="."/> + </xsl:element> +</xsl:template> + +<xsl:template match="ref" node="head"> +</xsl:template> + +<xsl:template match="history" node="head"> + <table border="1"> + <xsl:for-each select="revision"> + <tr> + <td><xsl:value-of select="@version"/></td> + <td><xsl:value-of select="."/></td> + </tr> + </xsl:for-each> + </table> +</xsl:template> + +<xsl:template match="links" node="head"> + <xsl:element name="div"> + <xsl:attribute name="class">links</xsl:attribute> + <xsl:element name="div"> + <xsl:attribute name="class">title</xsl:attribute> + See Also + </xsl:element> + + <xsl:apply-templates select="link" mode="head"/> + + <xsl:element name="div"> + <xsl:attribute name="class">index</xsl:attribute> + <xsl:element name="a"> + <xsl:attribute name="href"> + <xsl:copy-of select="$root"/> + <xsl:text>index.html</xsl:text> + </xsl:attribute> + <xsl:text>< Index</xsl:text> + </xsl:element> + </xsl:element> + </xsl:element> +</xsl:template> + +</xsl:stylesheet> diff --git a/documentation/xsl/helpers.xsl b/documentation/xsl/helpers.xsl new file mode 100644 index 0000000..df91a4a --- /dev/null +++ b/documentation/xsl/helpers.xsl @@ -0,0 +1,141 @@ +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> +<!-- + XSL stylesheet for processing documentation for the lcd4linux project + Copyright 2004 Xavier Vello <xavier66@free.fr> + Copyright 2004 The LCD4Linux Team <lcd4linux-devel@users.sourceforge.net> +--> + +<!--The special helpers--> + +<xsl:template match="cmd"> + <xsl:element name="div"> + <xsl:attribute name="class">cmd</xsl:attribute> + <xsl:apply-templates/> + </xsl:element> +</xsl:template> + +<xsl:template match="conf"> + <xsl:element name="div"> + <xsl:attribute name="class">conf</xsl:attribute> + <xsl:apply-templates/> + </xsl:element> +</xsl:template> + +<xsl:template match="note"> + <xsl:element name="div"> + <xsl:attribute name="class">note</xsl:attribute> + <xsl:element name="img"> + <xsl:attribute name="src"> + <xsl:copy-of select="$root"/> + <xsl:text>images/note-icon.png</xsl:text> + </xsl:attribute> + <xsl:attribute name="alt"> + <xsl:text>Note : </xsl:text> + </xsl:attribute> + <xsl:attribute name="class">icon</xsl:attribute> + </xsl:element> + <xsl:apply-templates/> + </xsl:element> +</xsl:template> + +<xsl:template match="warn"> + <xsl:element name="div"> + <xsl:attribute name="class">warn</xsl:attribute> + <xsl:element name="img"> + <xsl:attribute name="src"> + <xsl:copy-of select="$root"/> + <xsl:text>images/warn-icon.png</xsl:text> + </xsl:attribute> + <xsl:attribute name="alt"> + <xsl:text>Warning : </xsl:text> + </xsl:attribute> + <xsl:attribute name="class">icon</xsl:attribute> + </xsl:element> + <xsl:apply-templates/> + </xsl:element> +</xsl:template> + +<xsl:template match="new"> <!--This last will be more complicated--> + <xsl:element name="div"> + <xsl:attribute name="class">new</xsl:attribute> + <xsl:apply-templates/> + </xsl:element> +</xsl:template> + +<xsl:template match="link" mode="head"> + <xsl:apply-templates select="."/> + <xsl:element name="br"/> +</xsl:template> + +<xsl:template match="link"> + <xsl:choose> + <xsl:when test="@ref"> + <xsl:variable name="refid" select="@ref"/> + <xsl:choose> + <xsl:when test="$references/ref[@id=$refid]"> + <xsl:element name="a"> + <xsl:attribute name="href"> + <xsl:choose> + <xsl:when test="$references/ref[@id=$refid]/class = $class"> + <xsl:value-of select="concat($references/ref[@id=$refid]/file, '.html', $references/ref[@id=$refid]/anchor)"/> + </xsl:when> + <xsl:when test="not(string-length($references/ref[@id=$refid]/class))"> + <xsl:copy-of select="$root"/> + <xsl:value-of select="concat($references/ref[@id=$refid]/file, '.html', $references/ref[@id=$refid]/anchor)"/> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="$root"/> + <xsl:value-of select="concat($references/ref[@id=$refid]/class, '/', $references/ref[@id=$refid]/file, '.html', $references/ref[@id=$refid]/anchor)"/> + </xsl:otherwise> + </xsl:choose> + </xsl:attribute> + <xsl:choose> + <xsl:when test="string-length(.)"> + <xsl:value-of select="."/> + </xsl:when> + <xsl:when test="$references/ref[@id=$refid]/label"> + <xsl:value-of select="$references/ref[@id=$refid]/label"/> + </xsl:when> + <xsl:otherwise> + <xsl:text>NO LABEL</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:element> + </xsl:when> + </xsl:choose> + </xsl:when> + <xsl:when test="@url"> + <xsl:element name="a"> + <xsl:attribute name="href"> + <xsl:value-of select="@url"/> + </xsl:attribute> + <xsl:choose> + <xsl:when test="string-length(.)"> + <xsl:value-of select="."/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="@url"/> + </xsl:otherwise> + </xsl:choose> + </xsl:element> + </xsl:when> + <xsl:otherwise> + <xsl:message><xsl:value-of select="current()"/> : invalid link !</xsl:message> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="index"> + <xsl:choose> + <xsl:when test="@class"> + <xsl:apply-templates select="$references/ref"> + <xsl:with-param name="class"><xsl:value-of select="@class"/></xsl:with-param> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="$references/ref"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +</xsl:stylesheet> diff --git a/documentation/xsl/references.xsl b/documentation/xsl/references.xsl new file mode 100644 index 0000000..4dc47f6 --- /dev/null +++ b/documentation/xsl/references.xsl @@ -0,0 +1,47 @@ +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> +<!-- + XSL stylesheet for processing documentation for the lcd4linux project + Copyright 2004 Xavier Vello <xavier66@free.fr> + Copyright 2004 The LCD4Linux Team <lcd4linux-devel@users.sourceforge.net> +--> + +<xsl:template match="ref" node="references"> + <xsl:param name="class" select="''"/> + <xsl:choose> + <xsl:when test="class=$class"> + <xsl:apply-templates select="." mode="link"/> + </xsl:when> + </xsl:choose> +</xsl:template> + +<xsl:template match="ref" node="references" mode="link"> + <xsl:choose> + <xsl:when test="not(hiden)"> + <xsl:element name="a"> + <xsl:attribute name="href"> + <xsl:choose> + <xsl:when test="not(string-length(class))"> + <xsl:copy-of select="$root"/> + <xsl:value-of select="concat(file, '.html')"/> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="$root"/> + <xsl:value-of select="concat(class, '/', file, '.html', anchor)"/> + </xsl:otherwise> + </xsl:choose> + </xsl:attribute> + <xsl:choose> + <xsl:when test="label"> + <xsl:value-of select="label"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="file"/> + </xsl:otherwise> + </xsl:choose> + </xsl:element> + <xsl:element name="br"/> + </xsl:when> + </xsl:choose> +</xsl:template> + +</xsl:stylesheet> diff --git a/documentation/xsl/xhtml.xsl b/documentation/xsl/xhtml.xsl new file mode 100644 index 0000000..1f5cb98 --- /dev/null +++ b/documentation/xsl/xhtml.xsl @@ -0,0 +1,16 @@ +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> +<!-- + XSL stylesheet for processing documentation for the lcd4linux project + Copyright 2004 Xavier Vello <xavier66@free.fr> + Copyright 2004 The LCD4Linux Team <lcd4linux-devel@users.sourceforge.net> +--> + +<!--Standard html tags, just a wraper--> + +<xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> +</xsl:template> + +</xsl:stylesheet> |