diff options
Diffstat (limited to 'kword/dtd')
-rw-r--r-- | kword/dtd/DEBUG | 11 | ||||
-rw-r--r-- | kword/dtd/Makefile.am | 16 | ||||
-rw-r--r-- | kword/dtd/framestyles.dtd | 52 | ||||
-rw-r--r-- | kword/dtd/kword.dtd | 1426 | ||||
-rw-r--r-- | kword/dtd/tablestyles.dtd | 29 | ||||
-rw-r--r-- | kword/dtd/tabletemplates.dtd | 57 |
6 files changed, 1591 insertions, 0 deletions
diff --git a/kword/dtd/DEBUG b/kword/dtd/DEBUG new file mode 100644 index 00000000..f7e5b994 --- /dev/null +++ b/kword/dtd/DEBUG @@ -0,0 +1,11 @@ +How to debug KWord's DTD? + +You can debug this DTD with xmllint (from libxml2) + +First you have to unzip the KWord file. + +Then you can do: + xmllint --noout --dtdvalid kword.dtd maindoc.xml + +where kword.dtd is the URL to KWord's DTD. +
\ No newline at end of file diff --git a/kword/dtd/Makefile.am b/kword/dtd/Makefile.am new file mode 100644 index 00000000..35fe9977 --- /dev/null +++ b/kword/dtd/Makefile.am @@ -0,0 +1,16 @@ +dtd_DATA = kword.dtd + +dtddir = $(kde_datadir)/kword/dtd + +fs_DATA = framestyles.dtd + +fsdir = $(kde_datadir)/kword/dtd + +ts_DATA = tablestyles.dtd + +tsdir = $(kde_datadir)/kword/dtd + +tt_DATA = tabletemplates.dtd + +ttdir = $(kde_datadir)/kword/dtd + diff --git a/kword/dtd/framestyles.dtd b/kword/dtd/framestyles.dtd new file mode 100644 index 00000000..0b8c8733 --- /dev/null +++ b/kword/dtd/framestyles.dtd @@ -0,0 +1,52 @@ +<!-- + A framestyle holds properties for borders, background and can be identified with a name. +--> +<!ELEMENT FRAMESTYLES + (FRAMESTYLE*)> +<!ELEMENT FRAMESTYLE + (NAME|TOPBORDER|BOTTOMBORDER|RIGHTBORDER|LEFTBORDER)> +<!ATTLIST FRAMESTYLE + red CDATA #REQUIRED + green CDATA #REQUIRED + blue CDATA #REQUIRED> + +<!-- + Copied from kword.dtd (01-06-2002) +--> + +<!ELEMENT NAME + EMPTY> +<!ATTLIST NAME + value CDATA #REQUIRED> +<!ELEMENT LEFTBORDER + EMPTY> +<!ATTLIST LEFTBORDER + red CDATA #REQUIRED + green CDATA #REQUIRED + blue CDATA #REQUIRED + style CDATA #REQUIRED + width CDATA #REQUIRED> +<!ELEMENT RIGHTBORDER + EMPTY> +<!ATTLIST RIGHTBORDER + red CDATA #REQUIRED + green CDATA #REQUIRED + blue CDATA #REQUIRED + style CDATA #REQUIRED + width CDATA #REQUIRED> +<!ELEMENT TOPBORDER + EMPTY> +<!ATTLIST TOPBORDER + red CDATA #REQUIRED + green CDATA #REQUIRED + blue CDATA #REQUIRED + style CDATA #REQUIRED + width CDATA #REQUIRED> +<!ELEMENT BOTTOMBORDER + EMPTY> +<!ATTLIST BOTTOMBORDER + red CDATA #REQUIRED + green CDATA #REQUIRED + blue CDATA #REQUIRED + style CDATA #REQUIRED + width CDATA #REQUIRED> diff --git a/kword/dtd/kword.dtd b/kword/dtd/kword.dtd new file mode 100644 index 00000000..1011ef63 --- /dev/null +++ b/kword/dtd/kword.dtd @@ -0,0 +1,1426 @@ +<!-- $Id: kword.dtd 466158 2005-10-01 19:30:05Z dfaure $ + +This is an XML document type definition (DTD) for the KWord document format. +Written by Kalle Dalheimer <kalle at kde dot org> with (obviously) input from KWord's +author Reginald Stadlbauer <reggie at kde dot org>. + +Kword DTD version 2 has been created by Thomas Zander, but only small adjustments from +the original version were made. + +(In case of questions about this file, please ask one of the KOffice mailing lists!) + +About the version +================= + +This is the DTD version 3, for KWord 1.3 + +The DTD version 1 was used by KWord-0.8 (KOffice-1.0, the one included in KDE-2.0) +The DTD version 2 was used by KWord-1.1 and KWord-1.2 + +KWord will read the previous versions of its own file format but this is considered +the most complete format, we highly encourage you to use this format. + +Version 3 specifics that have another meaning when read by earlier versions of KWord: +* counter: depth and display-levels have been separated, older versions assume display-levels=depth+1 +* TOC: outline and numberingtype=1 have been separated, older versions assume outline if nt=1 + +KWord overview +============== + +The main structure of each KWord document is a header and a body. The header +contains things like the paper size, the margins and so on. + +The body is organised around the concept of frames. You might have noticed +that you can do nearly everything with the frames in your KWord document (e.g. +move them around, interlock them, let your text "flow" through them, etc.). To +achieve this flexibility, the body actually has to store the data in a +hierarchy including framesets, frames, paragraphs, and so on. + +Framesets hold the actual text. Frames represent the rectangles in which this +text is "flowed". + +Encoding (for advanced users) +============================= + +KWord's document are encoded as UTF-8 by definition. Please use this encoding +whenever possible. (Remember: ASCII is UTF-8 too and you could use numerical +character references like ῤ to keep your document ASCII-clean.) + +If you find that writing in UTF-8 is too difficult on the system that you plan +to use, then please use ISO-10646-UCS2 (also known as UTF-16.) + +Please write publicly available KWord documents only in one of these two encodings! + +Of course, if you do not use UTF-8, replace any occurrence of UTF-8 in the text below by the +encoding that you have chosen. And please be sure to correctly define the XML declaration <?xml + +(Sorry, ISO-10646-UCS4 (also known as UTF-32) is not available, as QT cannot handle it.) + +Some basic notes on XML +======================= + +- All kinds of numbers are stored like this: foo="1" (between " and " :) + +- A rational number looks like this: width="1.03" (note: the '.' separates +integer and fractional parts). + +- <XYZ foo="100" bar="0"/> equals <XYZ foo="100" bar="0"></XYZ> + +- Unicode-letters (UTF-8 coded) are used to store the text + +- Some special characters ('<', '>', '&', '"', ''') are or can be "escaped" ('<', '>', '&', '"', ''') +Only these characters can be "escaped". XML cannot handle other "escapes", for example those of HTML are not valid (e.g. é .) + +- Please launch KWord and save an empty file - it is much easier to follow +this documentation if you wade through an (almost empty) example document. + +- The XML begins with a special tag like this (it is called the XML declaration): + + <?xml version="1.0" encoding="UTF-8"?> + +Each file starts with this tag. Note: You must not "close" this tag (i.e. +don't put a </?xml...> at the end of the file!). + +--> + +<!-- A KWord document consists of a paper description, a number of + attributes and the framesets which contain the actual data. It + can also define a number of styles. + + Attributes: + + editor: The program this file was written with. + + mime: The MIME type (must always have the value + application/x-kword). + + syntaxVersion: Integer version of the syntax in the remainder of + this file: + + 1...as for KWord 0.8 (KOffice-1.0) + 2...as for KWord 1.1 or 1.2 + 3...as for KWord 1.3 + KWord can read all previous versions, but always saves in the latest. +--> +<!ELEMENT DOC + (PAPER, ATTRIBUTES, VARIABLESETTINGS, FOOTNOTESETTING, ENDNOTESETTING, FRAMESETS, STYLES, PICTURES, PIXMAPS, CLIPARTS, SERIALL, (EMBEDDED*), SPELLCHECKIGNORELIST, BOOKMARKS)> +<!ATTLIST DOC + editor CDATA #IMPLIED + mime CDATA #FIXED "application/x-kword" + syntaxVersion CDATA #REQUIRED> + +<!-- Describes the page format. Can have no or one PAPERBORDERS child that + describes the margins. Normally this is the first tag in the "header". + + Attributes: + + format: integer value for the page format: + + 0...DIN A3 + 1...DIN A4 + 2...DIN A5 + 3...US LETTER + 4...US LEGAL + 5...SCREEN (screen sized) + 6...CUSTOM (just enter your preferred size) + 7...DIN B5 + 8...US EXECUTIVE + etc. See the enum in koffice/lib/kofficeui/koGlobal.h + + width: width in pt. + + height: height in pt. + + orientation: page orientation: + + 0...Portrait + 1...Landscape + + columns: the number of columns (only in wordprocessing + mode). + + pages: the number of pages. This is saved for information purposes, + but not required nor used by KWord. + + columnspacing: the gap (in pt) between the columns (only in + wordprocessing mode). + + hType: header style: + + 0...same on all pages + 1...different on first, even and odd pages (2&3) + 2...different on first and other pages + 3...different on even and odd pages + + fType: footer style: + + 0...same on all pages + 1...different on first, even and odd pages (2&3) + 2...different on first and other pages + 3...different on even and odd pages + + spHeadBody: distance (in pt) between headers and the text body (only in + wordprocessing mode). + + spFootBody: distance (in pt) between footers and the text body (only in + wordprocessing mode). + spFootNoteBody: distance ( in pt ) betwwen footnote and text body + + slFootNotePosition: position of footnote separator line + centered, right, left + + slFootNoteLength: percentage of page width default is 20 + slFootNoteWidth: width of line seperator default = 2pt + slFootNoteType: type of line seperator solid, dot, dash etc... +--> +<!ELEMENT PAPER + (PAPERBORDERS?)> +<!ATTLIST PAPER + format CDATA #REQUIRED + width CDATA #REQUIRED + height CDATA #REQUIRED + orientation CDATA #REQUIRED + columns CDATA #REQUIRED + columnspacing CDATA #REQUIRED + pages CDATA #IMPLIED + hType CDATA #IMPLIED + fType CDATA #IMPLIED + spHeadBody CDATA #IMPLIED + spFootBody CDATA #IMPLIED + spFootNoteBody CDATA #IMPLIED + slFootNotePosition CDATA #IMPLIED + slFootNoteLength CDATA #IMPLIED + slFootNoteWidth CDATA #IMPLIED + slFootNoteType CDATA #IMPLIED> + + +<!-- Describes the margins of the page. + + Attributes: + + left: left margin in pt. + + right: right margin in pt. + + top: top margin in pt. + + bottom: bottom margin in pt. +--> +<!ELEMENT PAPERBORDERS + EMPTY> +<!ATTLIST PAPERBORDERS + left CDATA #REQUIRED + right CDATA #REQUIRED + top CDATA #REQUIRED + bottom CDATA #REQUIRED> + + +<!-- Contains general attributes of the document. Has no children. + + Attributes: + + processing: 0..."Normal" document (Wordprocessing) + 1...DTP-document (DTPing) + + standardpage: currently ignored. + + hasHeader: 0...the document has no headers + 1...the document has headers + + hasFooter: 0...the document has no footers + 1...the document has footers + + unit: Basic unit for positioning, ruler,... + This has no influence on the units in this document, only on what the user sees. + mm... + pt... + inch... + + hasTOC: 0...the document has no TOC + 1...the document has TOC + + tabStopValue: tabstop value in pt + + activeFrameset: the name of the frameset that was edited when saving the document + cursorParagraph:if activeFrameset is a text frameset, the paragraph ID of the cursor + cursorIndex: if activeFrameset is a text frameset, the character index of the cursor +--> +<!ELEMENT ATTRIBUTES + EMPTY> +<!ATTLIST ATTRIBUTES + processing CDATA #REQUIRED + standardpage CDATA #IMPLIED + hasHeader CDATA #IMPLIED + hasFooter CDATA #IMPLIED + unit CDATA #IMPLIED + hasTOC CDATA #IMPLIED + tabStopValue CDATA #IMPLIED + activeFrameset CDATA #IMPLIED + cursorParagraph CDATA #IMPLIED + cursorIndex CDATA #IMPLIED> + + +<!-- Contains general attributes variables. Has no children. + + Attributes: + startingPageNumber: the starting page number. + displaylink ### TODO: document! + underlinelink: Underline links by default (true/false) + displaycomment: Display comment (true/false) + displayfieldcode: Display the name of the variables if true (instead of their value) + lastPrintingDate: Last printing date, in ISO-8601 format + creationDate: Creation date of the document, in ISO-8601 format + modificationDate: Modification date of the document, in ISO-8601 format +--> +<!ELEMENT VARIABLESETTINGS + EMPTY> +<!ATTLIST VARIABLESETTINGS + startingPageNumber CDATA #IMPLIED + displaylink CDATA #IMPLIED + underlinelink CDATA #IMPLIED + displaycomment CDATA #IMPLIED + displayfieldcode CDATA #IMPLIED + lastPrintingDate CDATA #IMPLIED + creationDate CDATA #IMPLIED + modificationDate CDATA #IMPLIED> + + +<!-- Contains general attributes for footnote. + + Attributes: see counter ! + + Ignore bullet, restart and depth. +--> +<!ELEMENT FOOTNOTESETTING + EMPTY> +<!ATTLIST FOOTNOTESETTING + type CDATA #REQUIRED + depth CDATA #REQUIRED + bullet CDATA #IMPLIED + start CDATA #IMPLIED + numberingtype CDATA #IMPLIED + lefttext CDATA #IMPLIED + righttext CDATA #IMPLIED + bulletfont CDATA #IMPLIED + customdef CDATA #IMPLIED + restart CDATA #IMPLIED> + +<!-- Contains general attributes for endnote. + + Attributes: see counter ! + + Ignore bullet, restart and depth. +--> +<!ELEMENT ENDNOTESETTING + EMPTY> +<!ATTLIST ENDNOTESETTING + type CDATA #REQUIRED + depth CDATA #REQUIRED + bullet CDATA #IMPLIED + start CDATA #IMPLIED + numberingtype CDATA #IMPLIED + lefttext CDATA #IMPLIED + righttext CDATA #IMPLIED + bulletfont CDATA #IMPLIED + customdef CDATA #IMPLIED + restart CDATA #IMPLIED> + + +<!-- Container that has a number of FRAMESET children. +--> +<!ELEMENT FRAMESETS + (FRAMESET+)> + + +<!-- A frameset that bundles a number of FRAME elements (at least one). + In addition it can have a more specific element, depending on frameType. + + Attributes: + + frameType: 0...Base frame (for internal use only!!!) + 1...Text frame (contains PARAGRAPH tags) + 2...Picture frame (contains a PICTURE tag, or an IMAGE tag for KWord 1.1) + 3...Part frame (defined in EMBEDDED at the doc level) ### FIXME: does not happen in a FRAMESET but only in SETTINGS + 4...Formula frame (contains a FORMULA tag) + 5...Clipart frame (contains a CLIPART tag, only for KWord 1.1) + 6...Horizontal line frame (contains a PICTURE tag) + 10..reserved (internally for tables) + + frameInfo: 0...normal text (or non-text frame) + 1...header for first page + 2...header for even pages (user-wise, i.e. with pages starting at 1) + 3...header for odd pages (user-wise, i.e. with pages starting at 1) + 4...footer for first page + 5...footer for even pages (user-wise, i.e. with pages starting at 1) + 6...footer for odd pages (user-wise, i.e. with pages starting at 1) + 7...footnote + When the document uses the same headers on even and odd pages (hType=0,2), + the header being used is the one for odd pages (frameInfo=3). + + removable: Whether the header-frame is removable or not: + Used in tables where header cells on new pages are + auto created with this set to 1. + 0...no (default) + 1...yes + + visible: Whether the frame is visible or not: + + 0...no + 1...yes (default) + + grpMgr: If present, indicates that this frameset is + a cell in a table. The value is the name of the + group manager for this table. (i.e. If this + frameset "belongs" to a table the position and the + size are contolled by a group manager (one for + each table)). + + row: Position in the table (only for tables). Index + starts at 0. The index for the next row must equal + the index for the current row, plus the + value of "rows" for the current row. + + col: Ditto for columns. + + rows: Size of this cell in rows (only for tables). + can be 1 or greater. + + cols: Ditto for columns. + + protectContent: Protect content of text object + + protectSize: Prevent user from changing size and position + of the frames in this frameset. + + 0...no (default) + 1...yes + + +--> +<!ELEMENT FRAMESET + (FRAME|PARAGRAPH|PICTURE|IMAGE|CLIPART|FORMULA)*> <!-- ### missing: defining FORMULA --> +<!ATTLIST FRAMESET + name CDATA #REQUIRED + frameType CDATA #REQUIRED + frameInfo CDATA #REQUIRED + removable CDATA #IMPLIED + visible CDATA #IMPLIED + grpMgr CDATA #IMPLIED + row CDATA #IMPLIED + col CDATA #IMPLIED + rows CDATA #IMPLIED + cols CDATA #IMPLIED + protectContent CDATA #IMPLIED + protectSize CDATA #IMPLIED> + +<!ELEMENT FRAME + EMPTY> + +<!-- Describes a frame of a frameset. + + Attributes: + + right, left, top, + bottom: absolute coordinates in pt. + + min-height: If set (and >0), this is the minimum height. Applies to AutoExtendFrame. + + runaround: 0...No run around, the text runs through the frame + 1...Frame repels text in overlapping frames + 2...Text in overlapping frames will avoid the + complete horizontal space of this frame. + + runaroundSide: when runaround is 1 specify here the side of the frame + on which the text should flow. + Values: "left", "right" or "biggest". Default is biggest. + + runaroundGap: when runaround is 1 specify here the distance (in pt) + between overlapping frames and runaround text + + autoCreateNewFrame: What to do if the text is bigger than the frame: + 0...AutoExtendFrame (use this for headers/footers) + Make frame bigger to fit text. + 1...AutoCreateNewFrame (use this for the normal text body) + Place a new frame on next page. + 2...Ignore extra text + + newFrameBehaviour: DEPRECATED use newFrameBehavior instead. + newFrameBehavior: 0...On creating a new page, reconnect frame + to current frameset (use this for the normal text body). + 1...Don't create a followup frame on the new + page. + 2...This frame will be shown on the new page + as well (with the same content) + + copy: 0...Not a copy + 1...This frame is a copy of the previous frame in this frameset + (default is 1 for headers and footers and 0 for the others) + + sheetSide: 0...AnySide + 1...this frame will only be shown on odd pages + 2...this frame will only be shown on even pages + + lWidth, rWidth, tWidth, bWidth: width (in pt) of a frame border (left, right, top, bottom) + + lRed, lGreen, lBlue: color (rgb) of the left frame border + rRed, rGreen, rBlue: color (rgb) of the right frame border + tRed, tGreen, tBlue: color (rgb) of the top frame border + bRed, bGreen, bBlue: color (rgb) of the bottom frame border + + lStyle, rStyle, tStyle, bStyle: style of a frame border (left, right, top, bottom) + Solid = 0, Dash = 1, Dot = 2, Dash_dot = 3, Dash_dot_dot = 4 + + bkRed, bkGreen, bkBlue: color (rgb) used as the frame's background color + bkStyle : style of a frame background color + None = 0, SolidPattern = 1, Dense1Pattern = 2, Dense2Pattern = 3, Dense3Pattern = 4, Dense4Pattern = 5 etc... (look at in qbrush documentation) + + bleftpt, brightpt, btoppt, bbottompt: frame margins (internal to the frame) + + z-index: z index (signed int). + Relative to the other frame in the same page. + The frame with the biggest z index in a given page, is on top. +--> +<!ATTLIST FRAME + left CDATA #REQUIRED + right CDATA #REQUIRED + top CDATA #REQUIRED + bottom CDATA #REQUIRED + min-height CDATA #IMPLIED + runaround CDATA #IMPLIED + runaroundSide CDATA #IMPLIED + runaroundGap CDATA #IMPLIED + autoCreateNewFrame CDATA #IMPLIED + newFrameBehavior CDATA #REQUIRED + copy CDATA #IMPLIED + sheetSide CDATA #IMPLIED + lWidth CDATA #IMPLIED + rWidth CDATA #IMPLIED + tWidth CDATA #IMPLIED + bWidth CDATA #IMPLIED + lRed CDATA #IMPLIED + lGreen CDATA #IMPLIED + lBlue CDATA #IMPLIED + rRed CDATA #IMPLIED + rGreen CDATA #IMPLIED + rBlue CDATA #IMPLIED + tRed CDATA #IMPLIED + tGreen CDATA #IMPLIED + tBlue CDATA #IMPLIED + bRed CDATA #IMPLIED + bGreen CDATA #IMPLIED + bBlue CDATA #IMPLIED + lStyle CDATA #IMPLIED + rStyle CDATA #IMPLIED + tStyle CDATA #IMPLIED + bStyle CDATA #IMPLIED + bkRed CDATA #IMPLIED + bkGreen CDATA #IMPLIED + bkBlue CDATA #IMPLIED + bkStyle CDATA #IMPLIED + bleftpt CDATA #IMPLIED + brightpt CDATA #IMPLIED + btoppt CDATA #IMPLIED + bbottompt CDATA #IMPLIED + z-index CDATA #IMPLIED> + +<!ELEMENT PARAGRAPH + (TEXT|FORMATS|LAYOUT)*> + +<!-- Just guess :) The text is stored as UTF-8 coded Unicode + glyphs. Note: the format-tags navigate in the text using an index + which starts at 0 and runs up till it reaches length-1. + + Some special character codes map to special features: + 0xad is a soft hyphen + 0xa0 is a non-breaking space + 0x2011 is a non-breaking hyphen + \n is a linebreak (within the paragraph) + \t is a tabulator + + Attributes: + + xml:space: "preserve" tells parsers to keep white spaces +--> +<!ELEMENT TEXT + (#PCDATA)> +<!ATTLIST TEXT + xml:space (preserve) #FIXED "preserve"> + +<!-- List of formats that apply to a given paragraph +--> +<!ELEMENT FORMATS + (FORMAT*)> + +<!-- A format tag describes the format of one or more characters in the + text. + + Attributes: + + id: type of format information: + + 0...none (mustn't be in a file) + 1..."normal" text + 2...a picture - in that case, only IMAGE is specified. + This is DEPRECATED, use a floating frame instead. + 3...tabulator - Not supported anymore. Use a '\t' in the text instead. + 4...a variable - in that case, VARIABLE is also specified + 5...a footnote - DEPRECATED (KOffice-1.0) + 6...an anchor for a floating frame - in that case, only ANCHOR is specified. + + pos: position where the format starts. This is a + zero-based index into the text of the + paragraph. + + len: number of characters after pos for which the + format is used. 1 for all ids except "normal text". + + When FORMAT is used to specify the format of a style, pos and len are omitted. +--> +<!ELEMENT FORMAT + (COLOR|FONT|SIZE|WEIGHT|ITALIC|UNDERLINE|STRIKEOUT|VERTALIGN|SHADOW|FONTATTRIBUTE|LANGUAGE|ANCHOR|IMAGE|PICTURE|VARIABLE|TEXTBACKGROUNDCOLOR|OFFSETFROMBASELINE)*> + + +<!ATTLIST FORMAT + id CDATA #REQUIRED + pos CDATA #IMPLIED + len CDATA #IMPLIED> + + +<!-- LAYOUT + A layout holds all the attributes related to a paragraph, + other than its text and formatting. + Each of the child elements can be present only once, except + TABULATOR which can be repeated. + The FORMAT tag here is the 'default format' for the paragraph. +--> +<!ENTITY % layout "NAME|FLOW|INDENTS|OFFSETS|LINESPACING|PAGEBREAKING| + LEFTBORDER|RIGHTBORDER|TOPBORDER|BOTTOMBORDER|COUNTER|FORMAT| + TABULATOR*"> +<!ELEMENT LAYOUT + (%layout;)*> + +<!-- + A style is a global setting that is used for all paragraphs which use that + style. As the markup is stored in one place (the style) changing the markup + throughout the document is simply a task of changing one or two styles. + Highly recommended for structured documents. + + A style element contains the same child elements as the LAYOUT tag: + all the paragraph properties, as well as a text format. + It also contains the name of the following style, i.e. the one used when + the user presses Enter in a paragraph using this style. + + Attributes: + outline if "true", this style is part of the Table Of Contents. + (by default it is not). +--> +<!ELEMENT STYLES + (STYLE*)> +<!ELEMENT STYLE + (%layout;|FOLLOWING)*> +<!ATTLIST STYLE + outline CDATA #IMPLIED> + +<!-- + Defines the color of the text, using RGB. + (-1,-1,-1) means "default color", i.e. the base color from the color scheme + (usually black). +--> +<!ELEMENT COLOR + EMPTY> +<!ATTLIST COLOR + red CDATA #REQUIRED + green CDATA #REQUIRED + blue CDATA #REQUIRED> + +<!-- + Defines the background color of the text (aka "highlight"), using RGB. + (-1,-1,-1) means "default color", i.e. the base color from the color scheme + (usually white). +--> +<!ELEMENT TEXTBACKGROUNDCOLOR + EMPTY> +<!ATTLIST TEXTBACKGROUNDCOLOR + red CDATA #REQUIRED + green CDATA #REQUIRED + blue CDATA #REQUIRED> + + +<!-- + A framestyle holds properties for borders, background and can be identified with a name. +--> +<!ELEMENT FRAMESTYLES + (FRAMESTYLE*)> +<!ELEMENT FRAMESTYLE + (NAME|LEFTBORDER|RIGHTBORDER|TOPBORDER|BOTTOMBORDER)> +<!ATTLIST FRAMESTYLE + red CDATA #REQUIRED + green CDATA #REQUIRED + blue CDATA #REQUIRED> + + +<!-- + A tablestyle holds properties for borders, background and (text)style. A tablestyle is + identified via its name. The properties are reach via the names corresponding to the + framestyle and style. +--> +<!ELEMENT TABLESTYLES + (TABLESTYLE*)> + +<!ELEMENT TABLESTYLE + (NAME|PSTYLE|PFRAMESTYLE)> + +<!ELEMENT PFRAMESTYLE + EMPTY> +<!ATTLIST PFRAMESTYLE + name CDATA #REQUIRED> + +<!ELEMENT PSTYLE + EMPTY> +<!ATTLIST PSTYLE + name CDATA #REQUIRED> + + +<!-- + name is the family name. Don't include fontsizes or bold, that is put in another tag. +--> +<!ELEMENT FONT + EMPTY> +<!ATTLIST FONT + name CDATA #REQUIRED> + +<!-- SIZE + When size is used in a format the size is in points. +--> +<!ELEMENT SIZE + EMPTY> +<!ATTLIST SIZE + value CDATA #REQUIRED> + +<!-- WEIGHT + Weight of a font is it's Boldness. Look at the QFont weight description for precise + numbers. Use normal=50, bold=75. +--> +<!ELEMENT WEIGHT + EMPTY> +<!ATTLIST WEIGHT + value CDATA #REQUIRED> + +<!-- ITALIC + Value is either 0 or 1 with 1=true and 0=false +--> +<!ELEMENT ITALIC + EMPTY> +<!ATTLIST ITALIC + value CDATA #REQUIRED> + +<!-- UNDERLINE + Value is either 0 or 1 or single or double or single-bold + 0 = no underline + 1 or single = single underline + double = double-underline. + single-bold = thick underline + wave = wave underline + styleline type of underline + : solid, dash, dot, dashdot, dashdotdot + underlinecolor : color of underline line. + wordbyword: 0 or 1. If 1, spaces are not underlined. Opposite of fo:score-spaces. + +--> +<!ELEMENT UNDERLINE + EMPTY> +<!ATTLIST UNDERLINE + value CDATA #REQUIRED + styleline CDATA #REQUIRED + underlinecolor CDATA #REQUIRED + wordbyword CDATA #REQUIRED> + +<!-- STRIKEOUT + value: 0, 1 (or single), double, single-bold (see UNDERLINE) + styleline: style of strikeout line solid, dash, dot, dashdot, dashdotdot + wordbyword: 0 or 1. If 1, spaces are not striked out. Opposite of fo:score-spaces. +--> +<!ELEMENT STRIKEOUT + EMPTY> +<!ATTLIST STRIKEOUT + value CDATA #REQUIRED + styleline CDATA #REQUIRED + wordbyword CDATA #REQUIRED> + +<!-- VERTALIGN + Super/sub script. + value: 0 = Normal + 1 = Subscript + 2 = Superscript + relativetextsize: 0.75 means 3/4 of the normal font size. +--> +<!ELEMENT VERTALIGN + EMPTY> +<!ATTLIST VERTALIGN + value CDATA #REQUIRED + relativetextsize CDATA #REQUIRED> + +<!-- SHADOW + The value is the CSS specification for text-shadow (also used by XSL-FO). + http://www.w3.org/TR/REC-CSS2/text.html#text-shadow-props + KWord only supports a single shadow, and no blur radius, so it amounts to + either "none" or "color length length". +--> +<!ELEMENT SHADOW + EMPTY> +<!ATTLIST SHADOW + text-shadow CDATA #REQUIRED> + + +<!-- OFFSETFROMBASELINE + Value is define in pt +--> +<!ELEMENT OFFSETFROMBASELINE + EMPTY> +<!ATTLIST OFFSETFROMBASELINE + value CDATA #REQUIRED> + +<!-- FONTATTRIBUTE + Value is either "none", "smallcaps", "uppercase", or "lowercase" +--> +<!ELEMENT FONTATTRIBUTE + EMPTY> +<!ATTLIST FONTATTRIBUTE + value CDATA #REQUIRED> + +<!-- LANGUAGE + The name of the language used by this text span. + This is usually a two letters code, or ll_CC where a country is specified. +--> +<!ELEMENT LANGUAGE + EMPTY> +<!ATTLIST LANGUAGE + value CDATA #REQUIRED> + + +<!-- NAME + The name of a style. + If inside a <STYLE> tag, this defines the name of the style. + If inside a <LAYOUT> tag, this refers to an existing style, + to be used for this paragraph. +--> +<!ELEMENT NAME + EMPTY> +<!ATTLIST NAME + value CDATA #REQUIRED> + +<!-- FOLLOWING + The FOLLOWING tag is a styles tag. You can only embed it in a style. + With this tag you can tell kword to switch to the style 'name' after + enter was pressed and the current style was used. + Example: Style H1 has the <following name="body"> tag. When the user is + finished typing the header tag and presses enter kword switches to the + style 'body' + The style-name given should be available. +--> +<!ELEMENT FOLLOWING + EMPTY> +<!ATTLIST FOLLOWING + name CDATA #REQUIRED> + +<!-- FLOW + FLOW is a paragraph and style tag, that determines the alignment of the text. + align's value is one of: 'left', 'right', 'center', 'justify' + It can also be 'auto' for styles, meaning right for RTL text, left otherwise. + + dir: Indicates the direction of the paragraph. 'L' or 'R' for left-to-right and right-to-left. + Automatic direction (dependent on first character) is the default. +--> +<!ELEMENT FLOW + EMPTY> +<!ATTLIST FLOW + align (left|right|center|justify|auto) #REQUIRED + dir (L|R) #IMPLIED> + +<!-- INDENTS + left: indent (pt) that is used for the other lines in a paragraph. + right: indent (pt) on the right of all lines in the paragraph + first: indent (pt) from the left border (of the frame) of the first line of a paragraph. + This indent is added from the left indent (or to the right indent + in a right-to-left paragraph). + If not specified, the default value is 0. +--> +<!ELEMENT INDENTS + EMPTY> +<!ATTLIST INDENTS + first CDATA #IMPLIED + left CDATA #IMPLIED + right CDATA #IMPLIED> + +<!-- OFFSETS + before: space before the paragraph, or "head offset" (KWord-0.8), aka "top margin" (KWord-1.0) (pt) + after: space after the paragraph, or "foot offset" (KWord-0.8), aka "bottom margin" (KWord-1.0) (pt) + If not specified, the default value is 0. +--> +<!ELEMENT OFFSETS + EMPTY> +<!ATTLIST OFFSETS + before CDATA #IMPLIED + after CDATA #IMPLIED> + +<!-- + A paragraph and a style can have counter data. + The document will do the counting of the paragraphs that use this. + + type: 0 = None + 1 = Numeral + 2 = Alphabetical + 3 = Alphabetical uppercase + 4 = Roman numbering + 5 = Roman numbering uppercase + 6 = Custom bullet (one char, set by the 'bullet' attribute) + 7 = Custom (complex string, see kword's dialog) + 8 = Circle bullet (empty circle) + 9 = Square bullet (full square) + 10 = Disc bullet (full circle) + 11 = Box bullet (empty square) + + depth The level of the numbering. + Depth of 0 means the major numbering. (1, 2, 3...) + Depth of 1 is 1.1, 1.2, 1.3 etc. + + start The first used number in the numbering (usually 1). + List numbering starts at <start> initially, or when restart is set to true. + numberingtype + 0 = list numbering, 1 = chapter numbering. + Chapter numbering is used throughout the whole document (in future throughout books) + lefttext + The text that is printed left of the first numeral + righttext + The text that is printed right of the last numeral + A usual value for this one is "." (dot). + + bullet The unicode character code that is the custom bullet (for type=6) + bulletfont + The font to use for the custom bullet can be found in (use "symbol" if in doubt) + customdef + Definition of a custom counter - not supported yet + restart + If "true" or "1", this paragraph is numbered as specified by start. + Otherwise (default) it will extend the current list (with equal type and depth). + + text The text shown by the counter in the document when it was saved. + This is redundant information, unused by KWord upon loading, but useful + for export filters. + + display-levels Number of levels to display (e.g. 3 means "1.2.1") + + align Counter alignment. Possible values include: + int(Qt::AlignAuto), //left for LTR text and right for RTL text + int(Qt::AlignLeft), + int(Qt::AlignRight). +--> +<!ELEMENT COUNTER + EMPTY> +<!ATTLIST COUNTER + type CDATA #REQUIRED + depth CDATA #REQUIRED + bullet CDATA #IMPLIED + start CDATA #IMPLIED + numberingtype CDATA #REQUIRED + lefttext CDATA #IMPLIED + righttext CDATA #IMPLIED + bulletfont CDATA #IMPLIED + customdef CDATA #IMPLIED + restart CDATA #IMPLIED + text CDATA #IMPLIED + display-levels CDATA #IMPLIED + align CDATA #IMPLIED> + +<!-- + Linespacing defines the height of a line in a paragraph. + By default the line height is the height of the biggest character in the line. + + The "type" can be "oneandhalf" for 1.5 * line_height and "double" for 2 * line_height. + More generally it can also be "multiple", where spacingvalue=3 means 3 * line_height. + Other values for the type are + "custom": spacingvalue is the distance between the lines in pt (added to the line height) + "atleast": the total line height is at least spacingvalue (in pt) + "fixed": spacingvalue is equal to the total line height (in pt). + + See koffice/lib/kotext/koparaglayout.h for more details. + + spacingvalue isn't used if type is "oneandhalf" or "double". + + Compatibility note: KWord-1.1 only had a "value" attribute, which could + be set to a pt value (for custom), to "oneandhalf" or to "double". +--> +<!ELEMENT LINESPACING + EMPTY> +<!ATTLIST LINESPACING + type (oneandhalf|double|custom|atleast|multiple|fixed) #IMPLIED + spacingvalue CDATA #IMPLIED> + +<!-- + Attributes relating to the way paragraphs are broken at the end of a frame/page. + If this element isn't specified, the default is to break between lines of a parag. + + linesTogether: if "true", all the lines of a given paragraph remain together. + hardFrameBreak: if "true", this paragraph is always at the beginning of a frame. + hardFrameBreakAfter: if "true", this paragraph is always the last in the frame. + + Future extensions: keepWithPrevious, keepWithNext +--> +<!ELEMENT PAGEBREAKING + EMPTY> +<!ATTLIST PAGEBREAKING + linesTogether (true|false) #IMPLIED + hardFrameBreak (true|false) #IMPLIED + hardFrameBreakAfter (true|false) #IMPLIED> + +<!-- + The borders can be used on a frame and on a paragraph. + the border has a color, displayed in the RGB value. + The width is in points. + Style 0 = solid + 1 = dashes + 2 = dots + 3 = dash - dot patterns + 4 = dash dot dot patterns + 5 = double line +--> +<!ELEMENT LEFTBORDER + EMPTY> +<!ATTLIST LEFTBORDER + red CDATA #REQUIRED + green CDATA #REQUIRED + blue CDATA #REQUIRED + style CDATA #REQUIRED + width CDATA #REQUIRED> +<!ELEMENT RIGHTBORDER + EMPTY> +<!ATTLIST RIGHTBORDER + red CDATA #REQUIRED + green CDATA #REQUIRED + blue CDATA #REQUIRED + style CDATA #REQUIRED + width CDATA #REQUIRED> +<!ELEMENT TOPBORDER + EMPTY> +<!ATTLIST TOPBORDER + red CDATA #REQUIRED + green CDATA #REQUIRED + blue CDATA #REQUIRED + style CDATA #REQUIRED + width CDATA #REQUIRED> +<!ELEMENT BOTTOMBORDER + EMPTY> +<!ATTLIST BOTTOMBORDER + red CDATA #REQUIRED + green CDATA #REQUIRED + blue CDATA #REQUIRED + style CDATA #REQUIRED + width CDATA #REQUIRED> + +<!-- Defines the position of a tabulation + Attributes: + + type: 0 .. left + 1 .. center + 2 .. right + 3 .. alignment at specified character + + ptpos: Position of the tabulation, in pt + + filling: 0 .. blank + 1 .. dots + 2 .. line + 3 .. dash + 4 .. dash-dot + 5 .. dash-dot-dot + + width: Width of the filling, in pt + + alignchar: character at which text will be aligned when + type==3 (former "decimal point") is set +--> +<!ELEMENT TABULATOR + EMPTY> +<!ATTLIST TABULATOR + type CDATA #REQUIRED + ptpos CDATA #REQUIRED + filling CDATA #IMPLIED + width CDATA #IMPLIED + alignchar CDATA #IMPLIED> + +<!-- An anchor describes an object which is anchored. + + Attributes: + + type: What kind of object is being anchored? + + grpMgr: a table [deprecated] + frameset: a frameset [default] + + instance: An identifier that uniquely names the + particular instance of the type of object + being anchored. + For framesets, this is the frameset name. +--> + +<!ELEMENT ANCHOR + EMPTY> +<!ATTLIST ANCHOR + type CDATA #REQUIRED + instance CDATA #REQUIRED> + +<!-- Definition of a picture - contains only one element, the key to the picture. +--> +<!ELEMENT PICTURE + (KEY)> +<!ATTLIST PICTURE + keepAspectRatio CDATA #REQUIRED> + +<!-- Definition of an image - contains only one element, the key to the image. + Only for KWord 1.1. compatibility +--> +<!ELEMENT IMAGE + (KEY)> +<!ATTLIST IMAGE + keepAspectRatio CDATA #REQUIRED> + +<!-- Definition of a clipart - contains only one element, the key to the clipart. + Only for KWord 1.1. compatibility +--> +<!ELEMENT CLIPART + (KEY)> + +<!-- Variable + A variable has always two child elements: + TYPE, and another one depending on the type. +--> +<!ELEMENT VARIABLE + (TYPE,(DATE|TIME|PGNUM|CUSTOM|MAILMERGE|FIELD|LINK|NOTE|FOOTNOTE))> + +<!-- Variable type + Attributes: + type + 0... Date (uses DATE to save it) + 1... [currently unused] + 2... Time fixed (uses TIME to save it) + 3... [currently unused] + 4... Page number / number of pages (uses PGNUM to save it) + 5... [currently unused] + 6... Custom (uses CUSTOM to save it) + 7... Mail Merge variable (uses MAILMERGE to save it) + 8... Field (uses FIELD to save it) + 9... Link (uses LINK) + 10... Note (uses NOTE) + 11... Footnote (uses FOOTNOTE) + 12... Statictic (uses STATISTIC) + + key the description of the variable format used to display this variable. + The first 4 letters identify the class of format: + DATE = a date + TIME = a time + NUMB = a number + STRI = a string + The rest (after the 4 letters) is quite internal, and depends on the type of variable. + + text the text shown by the variable in the document when it was saved. + This is redundant information, unused by KWord upon loading, but useful + for export filters. +--> +<!ELEMENT TYPE + EMPTY> +<!ATTLIST TYPE + type CDATA #REQUIRED + key CDATA #IMPLIED + text CDATA #IMPLIED> + +<!-- Date value contained in a date variable. + day... the day number + month.. the month number + year... the year number + fix.... 1 if the time is fixed, 0 if it's variable ("the current time") + correct... adjustement + subtype... + 0 = fixed date, will never update itself automatically + 1 = current date, updated as soon as the file is loaded + The value in the file is the value that the var had when saving. + 2 = date of last printing + 3 = date of file creation + 4 = date of last modification +--> +<!ELEMENT DATE + EMPTY> +<!ATTLIST DATE + day CDATA #REQUIRED + month CDATA #REQUIRED + year CDATA #REQUIRED + fix CDATA #REQUIRED + correct CDATA #IMPLIED + subtype CDATA #REQUIRED + hour CDATA #IMPLIED + minute CDATA #IMPLIED + second CDATA #IMPLIED> + +<!-- Time value contained in a time variable. + hour... the hour number + minute.. the minute number + second... the second number + fix.... 1 if the time is fixed, 0 if it's variable ("the current time") + A time that is not fixed (variable) will be updated as soon as the file is loaded. + The value in the file is only the value that the var had when saving. + correct... adjustement +--> +<!ELEMENT TIME + EMPTY> +<!ATTLIST TIME + hour CDATA #REQUIRED + minute CDATA #REQUIRED + second CDATA #REQUIRED + fix CDATA #REQUIRED + correct CDATA #IMPLIED> + +<!-- Details for a page-related variable. + subtype... Variable subtype: + 0... number of current page. + 1... total number of pages. + 2... title of the current section + value... The variable value, number for subtype=0/1, string for subtype=2 +--> +<!ELEMENT PGNUM + EMPTY> +<!ATTLIST PGNUM + subtype CDATA #REQUIRED + value CDATA #REQUIRED> + +<!-- Details for a custom variable. + name... The variable name + value... The variable value + Both name and value are entered by the user, they can be anything. +--> +<!ELEMENT CUSTOM + EMPTY> +<!ATTLIST CUSTOM + name CDATA #REQUIRED + value CDATA #REQUIRED> + +<!-- <MAILMERGE> exists as two versions: + - a mail-merge variable + - the global mail merge settings + + The mail-merge variable has the attribute "name" (#REQUIRED in that case) and no children (EMPTY) + The global seetings has no attributes but has children (PLUGIN and DATASOURCE) +--> +<!ELEMENT MAILMERGE + (PLUGIN, DATASOURCE)?> +<!ATTLIST MAILMERGE + name CDATA #IMPLIED> + +<!-- + The plugin being used. library is the name of the lib, like "kwmailmerge_qtsqldb_power" +--> +<!ELEMENT PLUGIN + EMPTY> +<!ATTLIST PLUGIN + library CDATA #REQUIRED> +<!-- + The children of <DATASOURCE> depends on the plugin +--> +<!ELEMENT DATASOURCE + ANY> +<!-- +For the QtSQL-power-plugin, the contents of DATASOURCE is + (DEFINITION,SAMPLERECORD) + DEFINITION is (DATABASE,QUERY) + DATABASE has port, driver, username, databasename, hostname attributes. + QUERY has a value attribute (containing the SQL query) + SAMPLERECORD is (FIELD*) + FIELD has a name attribute. +--> + +<!-- A "field" variable (property of the document) + subtype... Field subtype: + 0... Filename + 1... Directory name + 2... Author (as saved in documentinfo.xml) + 3... Email (as saved in documentinfo.xml) + 4... Company Name (as saved in documentinfo.xml) + 5... Path filename + 6... Filename without extension + 7... Telephone + 8... Fax + 9... Country + 10.. Document Title (as saved in documentinfo.xml) + 11.. Document Abstract (as saved in documentinfo.xml) + 12.. Postal Code + 13.. City + 14.. Street + 15.. AuthorTitle + 16.. Initials + + + value... the value of the field (text) +--> +<!ELEMENT FIELD + EMPTY> +<!ATTLIST FIELD + subtype CDATA #REQUIRED + value CDATA #REQUIRED> + +<!-- A variable containing an hyperlink. + linkName... The text that appears in the document. + hrefName... The URL that this link points to. +--> +<!ELEMENT LINK + EMPTY> +<!ATTLIST LINK + linkName CDATA #REQUIRED + hrefName CDATA #REQUIRED> + +<!-- A comment embedded into the text. + note... The text of the comment +--> +<!ELEMENT NOTE + EMPTY> +<!ATTLIST NOTE + note CDATA #REQUIRED> + +<!-- A footnote variable. + value... The text of the variable (e.g. "1", "2") + notetype... "footnote" or "endnote" + numberingtype... "auto" or "manual" + frameset... The name of the text frameset that contains the text + associated with this footnote. The frameset must be defined, + and must have frameInfo = 7. +--> +<!ELEMENT FOOTNOTE + EMPTY> +<!ATTLIST FOOTNOTE + value CDATA #REQUIRED + notetype CDATA #REQUIRED + numberingtype CDATA #REQUIRED + frameset CDATA #REQUIRED> + + +<!-- A statistic variable. + value... A number (e.g. "1", "2") + type... A type of statistic variable + "0" Number of word + "1" Number of sentence + "2" Number of lines + "3" Number of characters + "4" Number of characters without space + "5" Number of syllable + "6" Number of frame + "7" Number of embedded object + "8" Number of picture + "9" Number of table +--> +<!ELEMENT STATISTIC + EMPTY> +<!ATTLIST STATISTIC + value CDATA #REQUIRED + type CDATA #REQUIRED> + + +<!-- + Picture collection. This list holds the keys of all the picture + used by this document (by picture framesets), in the order in which + they are stored in the store (under pictures/). +--> +<!ELEMENT PICTURES + (KEY)*> + +<!-- + Pixmap collection. This list holds the keys of all the pixmaps + used by this document (by picture framesets), in the order in which + they are stored in the store (under pictures/). + Only for KWord 1.1 compatibility. +--> +<!ELEMENT PIXMAPS + (KEY)*> + +<!-- + Only for KWord 1.1 compatibility. +--> +<!ELEMENT CLIPARTS + (KEY)*> + +<!-- TODO: document! --> +<!ELEMENT SERIALL + EMPTY> + +<!ELEMENT SPELLCHECKIGNORELIST ( SPELLCHECKIGNOREWORD+ )> +<!ATTLIST SPELLCHECKIGNORELIST > +<!ELEMENT SPELLCHECKIGNOREWORD EMPTY> +<!ATTLIST SPELLCHECKIGNOREWORD word NMTOKEN #REQUIRED > + +<!ELEMENT BOOKMARKS ( BOOKMARKITEM+ )> +<!ATTLIST BOOKMARKS > +<!ELEMENT BOOKMARKITEM EMPTY> +<!ATTLIST BOOKMARKITEM name NMTOKEN #REQUIRED + cursorIndexStart NMTOKEN #REQUIRED + cursorIndexEnd NMTOKEN #REQUIRED + frameset NMTOKEN #REQUIRED + startparag NMTOKEN #REQUIRED + endparag NMTOKEN #REQUIRED> + +<!-- + The key mapping to one picture + + name: the relative path to the picture in the store (e.g. picture/picture1.ext) + (only if <KEY> is a child of <PICTURES>, otherwise the attribute name does not exist.) + filename: the original path of the picture + year...: the date/time stamp + (suggestions: + - use UTC if you have the choice + - use the *NIX epoch (1970-01-01 00:00:00.000 UTC) if no date is available otherwise) +--> +<!ELEMENT KEY + EMPTY> +<!ATTLIST KEY + filename CDATA #REQUIRED + year CDATA #REQUIRED + month CDATA #REQUIRED + day CDATA #REQUIRED + hour CDATA #REQUIRED + minute CDATA #REQUIRED + second CDATA #REQUIRED + msec CDATA #REQUIRED + name CDATA #IMPLIED> + +<!-- + Embedded object +--> +<!ELEMENT EMBEDDED + (OBJECT,SETTINGS)> + +<!-- + Standard part of the embedded object (part, url and position) + mime the mimetype, e.x. application/x-presenter + url the url, either external or internal (tar:/N for partN/maindoc.xml) +--> +<!ELEMENT OBJECT + (RECT)> +<!ATTLIST OBJECT + mime CDATA #REQUIRED + url CDATA #REQUIRED> +<!-- + Position of the embedded object +--> +<!ELEMENT RECT + EMPTY> +<!ATTLIST RECT + x CDATA #REQUIRED + y CDATA #REQUIRED + w CDATA #REQUIRED + h CDATA #REQUIRED> + +<!-- + Additionnal attributes of the embedded object. + In KWord's case, it's the definition of the frame around the object, + and the name of the part-frameset. + ### FIXME: the attribute list is the same as FRAMESET +--> +<!ELEMENT SETTINGS + (FRAME)> +<!ATTLIST SETTINGS + name CDATA #REQUIRED> diff --git a/kword/dtd/tablestyles.dtd b/kword/dtd/tablestyles.dtd new file mode 100644 index 00000000..2480596f --- /dev/null +++ b/kword/dtd/tablestyles.dtd @@ -0,0 +1,29 @@ +<!-- + A tablestyle holds properties for borders, background and (text)style. A tablestyle is + identified via its name. The properties are reach via the names corresponding to the + framestyle and style. +--> +<!ELEMENT TABLESTYLES + (TABLESTYLE*)> + +<!ELEMENT TABLESTYLE + (NAME|PFRAMESTYLE|PSTYLE)> + +<!ELEMENT PFRAMESTYLE + EMPTY> +<!ATTLIST PFRAMESTYLE + name CDATA #REQUIRED> + +<!ELEMENT PSTYLE + EMPTY> +<!ATTLIST PSTYLE + name CDATA #REQUIRED> + +<!-- + Copied from kword.dtd (01-06-2002) +--> + +<!ELEMENT NAME + EMPTY> +<!ATTLIST NAME + value CDATA #REQUIRED> diff --git a/kword/dtd/tabletemplates.dtd b/kword/dtd/tabletemplates.dtd new file mode 100644 index 00000000..f1b96d6e --- /dev/null +++ b/kword/dtd/tabletemplates.dtd @@ -0,0 +1,57 @@ +<!-- + A tabletemplate holds pointers to a tablestyle for the first, last row and column and body. + + Name is the name of the tablestyle. + + With topleftcorner, toprightcorner, bottomleftcorner and bottomrightcorner attributes you + can tell KWord that particular corner belongs to that tablestyle. If you use them just give + a value of 1 to it, otherwise leave it out because KWord checks if the attribute is available. +--> + +<!ELEMENT TABLETEMPLATES + (TABLETEMPLATE*)> + +<!ELEMENT TABLETEMPLATE + (NAME|FIRSTROW|LASTROW|FIRSTCOL|LASTCOL|BODYCELL)> + +<!ELEMENT FIRSTROW + EMPTY> +<!ATTLIST FIRSTROW + name CDATA #REQUIRED + topleftcorner CDATA + toprightcorner CDATA> + +<!ELEMENT FIRSTCOL + EMPTY> +<!ATTLIST FIRSTCOL + name CDATA #REQUIRED + topleftcorner CDATA + bottomleftcorner CDATA> + +<!ELEMENT LASTROW + EMPTY> +<!ATTLIST LASTROW + name CDATA #REQUIRED + bottomleftcorner CDATA + bottomrightcorner CDATA> + +<!ELEMENT LASTCOL + EMPTY> +<!ATTLIST LASTCOL + name CDATA #REQUIRED + toprightcorner CDATA + bottomrightcorner CDATA> + +<!ELEMENT BODYCELL + EMPTY> +<!ATTLIST BODYCELL + name CDATA #REQUIRED> + +<!-- + Copied from kword.dtd (01-06-2002) +--> + +<!ELEMENT NAME + EMPTY> +<!ATTLIST NAME + value CDATA #REQUIRED> |