summaryrefslogtreecommitdiffstats
path: root/quanta/data/dtep/dtd-description.txt
diff options
context:
space:
mode:
Diffstat (limited to 'quanta/data/dtep/dtd-description.txt')
-rw-r--r--quanta/data/dtep/dtd-description.txt207
1 files changed, 207 insertions, 0 deletions
diff --git a/quanta/data/dtep/dtd-description.txt b/quanta/data/dtep/dtd-description.txt
new file mode 100644
index 0000000..3c55890
--- /dev/null
+++ b/quanta/data/dtep/dtd-description.txt
@@ -0,0 +1,207 @@
+DTD definitions for Quanta+ are made up from two parts:
+a) the description.rc
+b) the tag files
+
+The content of them depends also on the type of the DTD (real or pseudo
+DTD).
+
+A. The description.rc
+---------------------
+Contains some information and rules about the DTD itself.
+
+A1. description.rc for real DTDs
+--------------------------------
+
+[General] - generic information
+Name = DTD definition string (like -//W3C//DTD HTML 4.01 Transitional//EN)
+NickName = the beautified name of the DTD (like HTML 4.01 Transitional). If not
+ defined, the Name is used as NickName.
+URL = url pointing to the DTD definition (http://www.w3.org/TR/html4/loose.dtd)
+DoctypeString = the string that should appear in the !DOCTYPE tag
+ (HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd")
+Inherits = the name of the DTD from where this DTD inherits the tags (-//W3C//DTD HTML 4.01//EN)
+DefaultExtension = new files are created with this extension (html)
+Groups = the list of common attribute groups, which may be present in more than
+ one tag (Core, I18n, Script). See below (Group1, Group2...)
+ OBSOLETE, don't use. Groups are read from common.tag.
+NumOfPages = how many pages does a tag dialog have (aside of the page containing
+ the attributes defined in the tag file). See below (Page1,...)
+CaseSensitive = case-sensitiveness of the DTD
+QuotedAttributes = OBSOLETE, not used
+Family = 1 (it's a real DTD)
+
+
+[Toolbars] - information about DTD toolbars
+Location = the directory inside the $KDEDIR($KDEHOME)/share/apps/quanta/toolbars
+ where the toolbars for this DTD are
+Names = the list of toolbar file names (without the .toolbar.tgz extension) that
+ are loaded for this DTD from the above directory
+
+
+[Group1] - replace with one of the Groups listed below
+Attributes = the list of attributes for this group. Currently all of the listed
+ attributes are treated as strings.
+Example:
+[Core]
+Attributes = id, class, style, title
+
+
+[Page1] - description of a tag editor page
+Title = the title of this page in the tag editing dialog
+Groups = list of groups appearing on this page (like Core, I18n)
+
+
+[Extra tags] - OBSOLETE! Please define the tags in external files!
+List = list of tags not defined in external tag files.
+tag_name = attribute1, attribute2 - attribute names of tag called tag_name
+tag_name_options = options of tag called tag_name
+
+
+[Extra rules] - some rules not fitted in other places
+BooleanAttributes = simple or complex.
+ Example for simple: <tag booleanAttr>.
+ Example for complex: <tag booleanAttr="1"> or <tag booleanAttr="true">
+Single Tag Style = html or XML.
+ Example for html: <single_tag>
+ Example for XML: <single_tag />
+StructGroupsCount = the number of structure groups. See below.
+MinusAllowedInWords = if true "this-is-a-word" is treated like a word. Otherwise
+ it's treated like 4 words.
+TagAutoCompleteAfter = CHAR. The autocompletion box is brought up automatically
+ once this CHAR is entered or SPACE is pressed after this CHAR. For real
+ DTDs it's usually "<", but for CSS pseudo DTD it's "{". The text "none"
+ instead of a CHAR specifies that the tag completion box should not be brought
+ up automatically, only if the user requests it.
+AttributeSeparator = CHAR. This CHAR means that the attribute name has ended.
+ It's " for XML DTDs and , for pseudo DTDs.
+TagSeparator = CHAR. Similar to the above.
+
+
+[StructGroup_1] - definition of structure group 1
+Name = the text that appears if there are tags matching this group settings
+ (like Links)
+No_Name = the text that appears if there are NO tags matching this group settings
+ (like No Links)
+Icon = the name of the icon appearing before the above texts (like www)
+Tag = tagname(attribute1, attribute2, ...). Tags with name tagname will appear
+ under this group. The item text will be "attribute1_value | attribute2_value | ..."
+ Currently only one tag may be listed here.
+HasFileName = true if the item text (one of the above attribute values) contains a file name
+FileNameRx = regular expression used to remove the unnecessary chars from the item
+ text.
+
+
+[Parsing rules] - rules used when parsing the document
+SpecialAreas = the beginning and ending string of special areas, separatted by a comma.
+ Special areas are not parsed according to this DTD's rules, but as their own rules.
+ A special area can be a pseudo DTD,a comment or something like that. Eg. <!-- -->
+SpecialAreaNames = comma separated list of the above special area names. Eg. comment
+Comments = comma separated list of area borders for comments. EOL means end-of-line.
+ Eg: // EOL, /* */
+AppendCommonRules = true or false. If true, the following rules are automatically appended:
+ SpecialAreas = <?xml ?>, <!-- -->, <! >
+ SpecialAreaNames = XML PI, comment, DTD
+ Comments = <!-- -->
+ Default is "true", so append the rules.
+SpecialTags = tagname(attributename) - specifies a tag which defines the start of
+ a special area
+MayContain = comma separated list of pseudo-DTDs that can be present in the document.
+ E.g. php, css
+
+
+A2. description.rc for pseudo DTDs
+----------------------------------
+
+Only the differences, special notices are listed here.
+[General]
+Groups = (There are no common groups)
+NumOfPages = 0 . There is no tag editing dialog for pseudo DTDs.
+Family = 2 (it's a pseudo DTD)
+
+
+[Extra rules]
+ScriptName = OBSOLETE, don't use.
+ScriptTagBorders = OBSOLETE, don't use.
+ScriptRegExp = OBSOLETE, don't use.
+AttributeAutoCompletionAfter = CHAR. Similar to the TagAutoCompletionAfter, but
+ for tag attributes. It's "(" by default and ":" for CSS. Not used for real
+ DTDs.
+RequestSpaceBeforeTagAutoCompletion = boolean. If "true", the list of tags
+ does not appear if the user types the TagAutoCompletionAfter char, only
+ if it is followed by at least one space. The default is "false".
+VariableGroupIndex = the index value of the group that defines variables.
+ -1 if there is no such group, otherwise the group must exists.
+FunctionGroupIndex = the index value of the group that defines functions.
+ -1 if there is no such group, otherwise the group must exists.
+ClassGroupIndex = the index value of the group that defines classes.
+ -1 if there is no such group, otherwise the group must exists.
+ObjectGroupIndex = the index value of the group that defines objects.
+ ClassGroupIndex must be defined, otherwise this doesn't make sense.
+ -1 if there is no such group, otherwise the group must exists.
+MemberAutoCompleteAfter = a regular expression which defines when may a member
+ variable/method appear after a class' usage. Example:
+ - we have a class called "foo" with some member variables
+ - the object of type "foo" is used in the document as $objFoo
+ - the members can appear as $objFoo->member or $objFoo.member
+ - in the above case this entry shoul look like (?:->|\.)$ (autocomplete
+ if the object is followed by -> or .)
+ The regular expression must be terminated with "$" (match end of line).
+
+
+[StructGroup_1]
+DefinitionRx = regular expression used to find text areas in the pseudo DTD, which
+ will belong to this group. The first captured area should be the actual name
+ of the group entry.
+ Example:
+ \bclass[\\s]+([0-9a-zA-Z_\x7f-\xff]*)[\\s]*
+ The first captured area (between "(" and ")") holds the class name.
+UsageRx = to find an usage of an element of the group.
+ Example:
+ - classes are defined as "class foo {...}"
+ - classes are used as $objFoo
+ Example 2:
+ - variables are defined as "int i"
+ - variables are used as @i
+ Example 3:
+ - variables are defined as $i
+ - variables are used as $i. In this case UsageRx is the same as
+ DefinitionRx
+TypeRx = regular expression to find the type of the element. The pattern is
+ searched on the result of DefinitionRx match and the first captured areas
+ will hold the element type. Example (simplified):
+ DefinitionRx =\$+([a-zA-Z]+)=new\\s[a-zA-Z]+;
+ TypeRx = new\\s([a-zA-Z]+);
+ This will match strings like "$fooObj=new foo;". Now this string is
+ searched and it will find "new foo;", where "foo" is the first
+ captured text (the regular expression matching foo is between brackets).
+ So the type of "$fooObj" is "foo".
+
+
+SearchRx = OBSOLETED by DefinitionRx. Don't use it.
+ClearRx = OBSOLETED by DefinitionRx. Don't use it.
+
+
+
+[Parsing rules]
+AreaBorders = comma separated list of the area borders encapsulating this pseudo
+ DTD. In case of PHP it is: <? ?>, <* *>, <% %>
+Tags = tagname(attribute[defaultvalue]). If the parent(real) DTD has a tag with tagname and
+ the attribute value of this tag is equal with the DTD name, the tag area
+ is parsed according to the rules of this DTD. If [defaultvalue] is present, it means that if the attribute
+ is not present in the tag it's taken as present with value = defaultvalue. Example:
+ Tags = style(type[text/css]) means that both <style> and <style type="text/css"> are
+ treated the same way and the DTD defined by this tag is named "text/css".
+Comments = comma separated list of area borders for comments. EOL means end-of-line.
+ Eg: // EOL, /* */
+StructKeywords = "," separated list of structure keywords. Structures are treated
+ as new nodes in the structure tree.
+StructBeginStr = a string specifying the beginning of a structure (like {)
+StructEndStr = a string specifying the beginning of a structure (like })
+StructRx = regular expression containing the beginning or the end of the structure
+ area. Eg. \\{ | \\} (structure area border can be { or })
+MayContain = pseudo DTDs can contain other pseudo DTDs
+
+
+B. Tag file structure
+---------------------
+Tag files are described in the Quanta doc tab under Quanta Tag Dialog Definition XML.