[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue common/doc/RPC-grpc-file.dtd common/script...
From: |
Jason Cater |
Subject: |
gnue common/doc/RPC-grpc-file.dtd common/script... |
Date: |
Sun, 30 Jun 2002 20:30:50 -0400 |
CVSROOT: /home/cvs
Module name: gnue
Changes by: Jason Cater <address@hidden> 02/06/30 20:30:50
Modified files:
common/doc : RPC-grpc-file.dtd
common/scripts : gnuedtd
common/src : GConditions.py GMenu.py
forms/doc : gnue-forms.dtd
forms/src : GFParser.py
Added files:
designer/src/schema/parser: gnue-schema.dtd
navigator/doc : gnue-navigator.dtd
reports/doc : gnue-reports.dtd
Log message:
Reworked support for gnuedtd... created base tool's DTD's as an example
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/common/doc/RPC-grpc-file.dtd.diff?cvsroot=OldCVS&tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/common/scripts/gnuedtd.diff?cvsroot=OldCVS&tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/common/src/GConditions.py.diff?cvsroot=OldCVS&tr1=1.16&tr2=1.17&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/common/src/GMenu.py.diff?cvsroot=OldCVS&tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/designer/src/schema/parser/gnue-schema.dtd?cvsroot=OldCVS&rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/forms/doc/gnue-forms.dtd.diff?cvsroot=OldCVS&tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/forms/src/GFParser.py.diff?cvsroot=OldCVS&tr1=1.66&tr2=1.67&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/navigator/doc/gnue-navigator.dtd?cvsroot=OldCVS&rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/reports/doc/gnue-reports.dtd?cvsroot=OldCVS&rev=1.1
Patches:
Index: gnue/common/doc/RPC-grpc-file.dtd
diff -c gnue/common/doc/RPC-grpc-file.dtd:1.1
gnue/common/doc/RPC-grpc-file.dtd:1.2
*** gnue/common/doc/RPC-grpc-file.dtd:1.1 Wed May 1 20:39:23 2002
--- gnue/common/doc/RPC-grpc-file.dtd Sun Jun 30 20:30:50 2002
***************
*** 1,23 ****
! <!-- GNURPC DTD (Version 0.0001) -->
<!--
! Copyright 2001 Free Software Foundation
!
This file is part of GNU Enterprise.
!
! GNU Enterprise is free software; you can redistribute it
! and/or modify it under the terms of the GNU General Public
! License as published by the Free Software Foundation; either
version 2, or (at your option) any later version.
!
! GNU Enterprise is distributed in the hope that it will be
! useful, but WITHOUT ANY WARRANTY; without even the implied
! warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the GNU General Public License for more details.
!
! You should have received a copy of the GNU General Public
! License along with program; see the file COPYING. If not,
! write to the Free Software Foundation, Inc., 59 Temple Place
- Suite 330, Boston, MA 02111-1307, USA.
-->
--- 1,23 ----
! <!-- GNURPC DTD (Version 0.4.0a) -->
<!--
! Copyright 2001-2002 Free Software Foundation
!
This file is part of GNU Enterprise.
!
! GNU Enterprise is free software; you can redistribute it
! and/or modify it under the terms of the GNU General Public
! License as published by the Free Software Foundation; either
version 2, or (at your option) any later version.
!
! GNU Enterprise is distributed in the hope that it will be
! useful, but WITHOUT ANY WARRANTY; without even the implied
! warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the GNU General Public License for more details.
!
! You should have received a copy of the GNU General Public
! License along with program; see the file COPYING. If not,
! write to the Free Software Foundation, Inc., 59 Temple Place
- Suite 330, Boston, MA 02111-1307, USA.
-->
***************
*** 26,41 ****
<!ENTITY gt ">">
<!ENTITY amp "&#38;">
! <!-- +---------------------------------------------------+ -->
<!-- | Datatype entities to make DTD more human readable | -->
<!-- +---------------------------------------------------+ -->
! <!ENTITY % text "CDATA">
! <!ENTITY % boolean "(%true;) #IMPLIED">
! <!ENTITY % true "">
! <!ENTITY % name "NMTOKEN">
<!-- [A-Za-z]([A-Z][a-z][0-9][#$_-])* -->
--- 26,42 ----
<!ENTITY gt ">">
<!ENTITY amp "&#38;">
! <!-- +---------------------------------------------------+ -->
<!-- | Datatype entities to make DTD more human readable | -->
<!-- +---------------------------------------------------+ -->
! <!ENTITY text "CDATA">
! <!ENTITY boolean "(%true;|%false;) #IMPLIED">
! <!ENTITY true "Y">
! <!ENTITY false "N">
! <!ENTITY name "NMTOKEN">
<!-- [A-Za-z]([A-Z][a-z][0-9][#$_-])* -->
***************
*** 93,97 ****
<!-- This DTD was created by gnuedtd
! Updated: 2002-05-02 02:32:27 -->
--- 94,98 ----
<!-- This DTD was created by gnuedtd
! Updated: 2002-06-30 19:14:39 -->
Index: gnue/common/scripts/gnuedtd
diff -c gnue/common/scripts/gnuedtd:1.3 gnue/common/scripts/gnuedtd:1.4
*** gnue/common/scripts/gnuedtd:1.3 Wed May 1 20:37:36 2002
--- gnue/common/scripts/gnuedtd Sun Jun 30 20:30:50 2002
***************
*** 1,30 ****
! #!python
#
# This file is part of GNU Enterprise.
#
! # GNU Enterprise is free software; you can redistribute it
! # and/or modify it under the terms of the GNU General Public
! # License as published by the Free Software Foundation; either
# version 2, or (at your option) any later version.
#
! # GNU Enterprise is distributed in the hope that it will be
! # useful, but WITHOUT ANY WARRANTY; without even the implied
! # warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
! # You should have received a copy of the GNU General Public
! # License along with program; see the file COPYING. If not,
! # write to the Free Software Foundation, Inc., 59 Temple Place
# - Suite 330, Boston, MA 02111-1307, USA.
#
! # Copyright 2001 Free Software Foundation
#
#
# FILE:
# gnuedtd
#
# DESCRIPTION:
! # This script generates a DTD for the client apps based on
# their GParser markup
#
# NOTES:
--- 1,30 ----
! #!/bin/env python
#
# This file is part of GNU Enterprise.
#
! # GNU Enterprise is free software; you can redistribute it
! # and/or modify it under the terms of the GNU General Public
! # License as published by the Free Software Foundation; either
# version 2, or (at your option) any later version.
#
! # GNU Enterprise is distributed in the hope that it will be
! # useful, but WITHOUT ANY WARRANTY; without even the implied
! # warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
! # You should have received a copy of the GNU General Public
! # License along with program; see the file COPYING. If not,
! # write to the Free Software Foundation, Inc., 59 Temple Place
# - Suite 330, Boston, MA 02111-1307, USA.
#
! # Copyright 2001-2002 Free Software Foundation
#
#
# FILE:
# gnuedtd
#
# DESCRIPTION:
! # This script generates a DTD for the client apps based on
# their GParser markup
#
# NOTES:
***************
*** 33,64 ****
import sys, string, time
from gnue.common import GParser, GTypecast
class GenerateDTD:
! def __init__ (self, tool, dest=sys.__stdout__):
! if tool == 'reports':
from gnue.reports import GRParser, VERSION, PACKAGE
xmlElements = GRParser.getXMLelements()
topLevelElement = 'report'
name = PACKAGE
version = VERSION
! elif tool == 'forms':
from gnue.forms import GFParser, VERSION, PACKAGE
xmlElements = GFParser.getXMLelements()
topLevelElement = 'form'
name = PACKAGE
version = VERSION
! elif tool == 'gnurpc':
from gnue.common.commdrivers._parser import Parser
xmlElements = Parser.getXMLelements()
topLevelElement = 'gnurpc'
name = 'GNURPC'
! version = '0.0001'
! else:
! print "\nSyntax: gnuedtd <forms|reports|gnurpc>\n"
sys.exit()
self.parentMappings = {}
--- 33,82 ----
import sys, string, time
from gnue.common import GParser, GTypecast
+ # This is simply to initialize gettext support :(
+ from gnue.common import GBaseApp
+
class GenerateDTD:
! def __init__ (self, tool, dest=sys.__stdout__):
! if tool == 'reports':
from gnue.reports import GRParser, VERSION, PACKAGE
xmlElements = GRParser.getXMLelements()
topLevelElement = 'report'
name = PACKAGE
version = VERSION
! elif tool == 'forms':
from gnue.forms import GFParser, VERSION, PACKAGE
xmlElements = GFParser.getXMLelements()
topLevelElement = 'form'
name = PACKAGE
version = VERSION
! elif tool == 'navigator':
! from gnue.navigator import GNParser, VERSION, PACKAGE
! xmlElements = GNParser.getXMLelements()
! topLevelElement = 'processes'
! name = PACKAGE
! version = VERSION
!
! elif tool == 'schema':
! from gnue.designer.schema.parser import GSParser
! from gnue.designer import VERSION, PACKAGE
! xmlElements = GSParser.getXMLelements()
! topLevelElement = 'schema'
! name = 'GNUe Schema'
! version = VERSION
!
! elif tool == 'gnurpc':
from gnue.common.commdrivers._parser import Parser
xmlElements = Parser.getXMLelements()
topLevelElement = 'gnurpc'
name = 'GNURPC'
! from gnue.common import VERSION as version
! else:
! print "\nSyntax: gnuedtd <forms|reports|schema|navigator|gnurpc>
[outfile.dtd]\n"
sys.exit()
self.parentMappings = {}
***************
*** 79,85 ****
xmlElements[element]['UsableBySiblings']
# Find out what Typecasts are being used
! if xmlElements[element].has_key('Attributes'):
for att in xmlElements[element]['Attributes'].keys():
self.typecasts[xmlElements[element]['Attributes'][att]['Typecast']]
\
= 'CDATA'
--- 97,103 ----
xmlElements[element]['UsableBySiblings']
# Find out what Typecasts are being used
! if xmlElements[element].has_key('Attributes'):
for att in xmlElements[element]['Attributes'].keys():
self.typecasts[xmlElements[element]['Attributes'][att]['Typecast']]
\
= 'CDATA'
***************
*** 88,110 ****
dest.write ("""
<!--
! Copyright 2001 Free Software Foundation
!
This file is part of GNU Enterprise.
!
! GNU Enterprise is free software; you can redistribute it
! and/or modify it under the terms of the GNU General Public
! License as published by the Free Software Foundation; either
version 2, or (at your option) any later version.
!
! GNU Enterprise is distributed in the hope that it will be
! useful, but WITHOUT ANY WARRANTY; without even the implied
! warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the GNU General Public License for more details.
!
! You should have received a copy of the GNU General Public
! License along with program; see the file COPYING. If not,
! write to the Free Software Foundation, Inc., 59 Temple Place
- Suite 330, Boston, MA 02111-1307, USA.
-->
--- 106,128 ----
dest.write ("""
<!--
! Copyright 2001-2002 Free Software Foundation
!
This file is part of GNU Enterprise.
!
! GNU Enterprise is free software; you can redistribute it
! and/or modify it under the terms of the GNU General Public
! License as published by the Free Software Foundation; either
version 2, or (at your option) any later version.
!
! GNU Enterprise is distributed in the hope that it will be
! useful, but WITHOUT ANY WARRANTY; without even the implied
! warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the GNU General Public License for more details.
!
! You should have received a copy of the GNU General Public
! License along with program; see the file COPYING. If not,
! write to the Free Software Foundation, Inc., 59 Temple Place
- Suite 330, Boston, MA 02111-1307, USA.
-->
***************
*** 113,155 ****
<!ENTITY gt ">">
<!ENTITY amp "&#38;">
! <!-- +---------------------------------------------------+ -->
<!-- | Datatype entities to make DTD more human readable | -->
<!-- +---------------------------------------------------+ -->
""")
! if self.typecasts.has_key (GTypecast.text):
self.typecasts[GTypecast.text] = '%text;'
! dest.write('<!ENTITY % text "CDATA">\n\n')
if self.typecasts.has_key (GTypecast.boolean):
self.typecasts[GTypecast.boolean] = '%boolean;'
! dest.write('<!ENTITY % boolean "(%true;) #IMPLIED">\n'
! '<!ENTITY % true "">\n\n')
if self.typecasts.has_key (GTypecast.number):
self.typecasts[GTypecast.number] = '%number;'
! dest.write('<!ENTITY % number "NMTOKEN">\n'
'<!-- [-]?[0-9]+([.][0-9]+)? -->\n\n')
if self.typecasts.has_key (GTypecast.whole):
self.typecasts[GTypecast.whole] = '%whole;'
! dest.write('<!ENTITY % whole "NMTOKEN">\n'
'<!-- [0-9]+ -->\n\n')
if self.typecasts.has_key (GTypecast.integer):
self.typecasts[GTypecast.integer] = '%integer;'
! dest.write('<!ENTITY % integer "NMTOKEN">\n'
'<!-- [-]?[0-9]+ -->\n\n')
if self.typecasts.has_key (GTypecast.name):
self.typecasts[GTypecast.name] = '%name;'
! dest.write('<!ENTITY % name "NMTOKEN">\n'
'<!-- [A-Za-z]([A-Z][a-z][0-9][#$_-])* -->\n\n')
if self.typecasts.has_key (GTypecast.names):
self.typecasts[GTypecast.names] = '%names;'
! dest.write('<!ENTITY & names "CDATA">\n'
'<!-- (%name;)(,[ ]*(%name;))* -->\n\n')
dest.write('\n')
--- 131,174 ----
<!ENTITY gt ">">
<!ENTITY amp "&#38;">
! <!-- +---------------------------------------------------+ -->
<!-- | Datatype entities to make DTD more human readable | -->
<!-- +---------------------------------------------------+ -->
""")
! if self.typecasts.has_key (GTypecast.text):
self.typecasts[GTypecast.text] = '%text;'
! dest.write('<!ENTITY text "CDATA">\n\n')
if self.typecasts.has_key (GTypecast.boolean):
self.typecasts[GTypecast.boolean] = '%boolean;'
! dest.write('<!ENTITY boolean "(%true;|%false;) #IMPLIED">\n'
! '<!ENTITY true "Y">\n'
! '<!ENTITY false "N">\n\n')
if self.typecasts.has_key (GTypecast.number):
self.typecasts[GTypecast.number] = '%number;'
! dest.write('<!ENTITY number "NMTOKEN">\n'
'<!-- [-]?[0-9]+([.][0-9]+)? -->\n\n')
if self.typecasts.has_key (GTypecast.whole):
self.typecasts[GTypecast.whole] = '%whole;'
! dest.write('<!ENTITY whole "NMTOKEN">\n'
'<!-- [0-9]+ -->\n\n')
if self.typecasts.has_key (GTypecast.integer):
self.typecasts[GTypecast.integer] = '%integer;'
! dest.write('<!ENTITY integer "NMTOKEN">\n'
'<!-- [-]?[0-9]+ -->\n\n')
if self.typecasts.has_key (GTypecast.name):
self.typecasts[GTypecast.name] = '%name;'
! dest.write('<!ENTITY name "NMTOKEN">\n'
'<!-- [A-Za-z]([A-Z][a-z][0-9][#$_-])* -->\n\n')
if self.typecasts.has_key (GTypecast.names):
self.typecasts[GTypecast.names] = '%names;'
! dest.write('<!ENTITY names "CDATA">\n'
'<!-- (%name;)(,[ ]*(%name;))* -->\n\n')
dest.write('\n')
***************
*** 157,185 ****
self.elementStack = [['Top level element',topLevelElement]]
while len(self.elementStack) and \
! (self.elementStack!=[['Child elements of service']]):
i = 1
! #print "first loop: %s, %s " % \
! # (len(self.elementStack),self.elementStack)
## remove allready processed tags
! while i < len(self.elementStack[0]):
! if self.processedTags.has_key(self.elementStack[0][i]):
self.elementStack[0].pop(i)
! else:
! i = i + 1
! if len (self.elementStack[0]) > 1:
elements = self.elementStack[0][1:]
elements.sort()
dest.write('\n<!-- +-' + '-' * (len(self.elementStack[0][0])) + '-+
-->\n')
dest.write('<!-- | %s | -->\n' % self.elementStack[0][0])
dest.write('<!-- +-' + '-' * (len(self.elementStack[0][0])) + '-+
-->\n')
! for element in elements:
self.handleElement(element)
self.elementStack.pop(0)
! # else:
! # self.elementStack.pop(0)
dest.write ("\n<!-- This DTD was created by gnuedtd\n"
--- 176,205 ----
self.elementStack = [['Top level element',topLevelElement]]
while len(self.elementStack) and \
! (self.elementStack!=[['Child elements of service']]):
i = 1
! ##print "first loop: %s, %s " % \
! ## (len(self.elementStack),self.elementStack)
## remove allready processed tags
! while i < len(self.elementStack[0]):
! if self.processedTags.has_key(self.elementStack[0][i]):
! ## print "Popping already used tag %s" % self.elementStack[0][i]
self.elementStack[0].pop(i)
! else:
! i += 1
! if len (self.elementStack[0]) > 1:
elements = self.elementStack[0][1:]
elements.sort()
dest.write('\n<!-- +-' + '-' * (len(self.elementStack[0][0])) + '-+
-->\n')
dest.write('<!-- | %s | -->\n' % self.elementStack[0][0])
dest.write('<!-- +-' + '-' * (len(self.elementStack[0][0])) + '-+
-->\n')
! for element in elements:
self.handleElement(element)
self.elementStack.pop(0)
! else:
! self.elementStack.pop(0)
dest.write ("\n<!-- This DTD was created by gnuedtd\n"
***************
*** 236,245 ****
# for i in self.xmlElements.keys():
# print "element: %s" % i
! if self.default(self.xmlElements[element],'Deprecated',0):
! self.dest.write(self.wrap(17,
! '<!-- DEPRECATED: Use of the %s element has been deprecated -->' % \
! (element),0))
if self.parentMappings.has_key(element):
es = self.parentMappings[element].keys()
--- 256,271 ----
# for i in self.xmlElements.keys():
# print "element: %s" % i
! deprecated = self.default(self.xmlElements[element],'Deprecated',0)
! if deprecated:
! if type(deprecated) != type(""):
! deprecated = ""
! else:
! deprecated = "[%s] " % deprecated
!
! self.dest.write(self.wrap(17,
! '<!-- DEPRECATED: Use of the <%s> element has been deprecated %s-->'
% \
! (element, deprecated),0))
if self.parentMappings.has_key(element):
es = self.parentMappings[element].keys()
***************
*** 251,258 ****
descr = self.default(self.xmlElements[element],'Description','')
! if len(descr):
! self.dest.write(self.wrap(5,
'<!-- %s -->' % (description), 0))
elemdef = "<!ELEMENT %s" % element
--- 277,284 ----
descr = self.default(self.xmlElements[element],'Description','')
! if len(descr):
! self.dest.write(self.wrap(5,
'<!-- %s -->' % (description), 0))
elemdef = "<!ELEMENT %s" % element
***************
*** 321,386 ****
attdef = "<!ATTLIST %s %s " % (element, att)
! if self.default(self.xmlElements[element]['Attributes'][att],
! 'Deprecated',0):
! self.dest.write(self.wrap(17,
! ' <!-- DEPRECATED: The %s attribute of %s '
! 'has been deprecated -->' % (att, element),0))
descr = self.default(self.xmlElements[element]['Attributes'][att],
'Description','')
! if len(descr):
! self.dest.write(self.wrap(7,
! ' <!-- %s -->' % (description), 0))
datatype = self.default(
self.xmlElements[element]['Attributes'][att],
'Typecast',GParser.char)
! if datatype == int:
! tokentype = "%number;"
else:
tokentype = "NMTOKEN"
# handle bool attributes specially
! if datatype == GParser.bool:
self.dest.write(self.wrap(len(attdef),attdef +'%boolean;>',0))
! elif set != None:
set = set.keys()
set.sort()
! if len(set) == 1:
indent = len(attdef)
attdef = attdef + '%s #FIXED "%s">' \
% (self.typecasts[datatype], set[0])
! else:
attdef = attdef + "("
indent = len(attdef)
attdef = attdef + "%s)" % string.join(set, ' | ')
! if dflt != None and len(dflt):
attdef = attdef + ' "%s">' % dflt
! else:
attdef = attdef + ' #IMPLIED>'
self.dest.write(self.wrap(indent, attdef, 0))
! elif refs != None:
indent = len(attdef)
! if req:
attdef = attdef + ' IDREF #REQUIRED>'
! else:
attdef = attdef + ' IDREF #IMPLIED>'
! self.dest.write(self.wrap(indent, attdef, 0))
! elif unq:
indent = len(attdef)
! if req:
attdef = attdef + ' ID #REQUIRED>'
! else:
attdef = attdef + ' ID #IMPLIED>'
self.dest.write(self.wrap(indent, attdef, 0))
! elif dflt != None:
indent = len(attdef)
attdef = attdef + ' %s #DEFAULT "%s">' \
% (self.typecasts[datatype], dflt)
--- 347,418 ----
attdef = "<!ATTLIST %s %s " % (element, att)
! deprecated =
self.default(self.xmlElements[element]['Attributes'][att],
! 'Deprecated',0)
! if deprecated:
! if type(deprecated) != type(""):
! deprecated = ""
! else:
! deprecated = "\n[%s] " % deprecated
!
! self.dest.write(self.wrap(17,
! ' <!-- DEPRECATED: The "%s" attribute of "%s" '
! 'has been deprecated %s-->' % (att, element, deprecated),0))
descr = self.default(self.xmlElements[element]['Attributes'][att],
'Description','')
! if len(descr):
! self.dest.write(self.wrap(7,
! ' <!-- %s: %s -->' % (att, descr), 0))
datatype = self.default(
self.xmlElements[element]['Attributes'][att],
'Typecast',GParser.char)
! if datatype == int:
! tokentype = "%number;"
else:
tokentype = "NMTOKEN"
# handle bool attributes specially
! if datatype == GTypecast.boolean:
self.dest.write(self.wrap(len(attdef),attdef +'%boolean;>',0))
! elif set != None:
set = set.keys()
set.sort()
! if len(set) == 1:
indent = len(attdef)
attdef = attdef + '%s #FIXED "%s">' \
% (self.typecasts[datatype], set[0])
! else:
attdef = attdef + "("
indent = len(attdef)
attdef = attdef + "%s)" % string.join(set, ' | ')
! if dflt != None and len(dflt):
attdef = attdef + ' "%s">' % dflt
! else:
attdef = attdef + ' #IMPLIED>'
self.dest.write(self.wrap(indent, attdef, 0))
! elif refs != None:
indent = len(attdef)
! if req:
attdef = attdef + ' IDREF #REQUIRED>'
! else:
attdef = attdef + ' IDREF #IMPLIED>'
! self.dest.write(self.wrap(indent, attdef, 0))
! elif unq:
indent = len(attdef)
! if req:
attdef = attdef + ' ID #REQUIRED>'
! else:
attdef = attdef + ' ID #IMPLIED>'
self.dest.write(self.wrap(indent, attdef, 0))
! elif dflt != None:
indent = len(attdef)
attdef = attdef + ' %s #DEFAULT "%s">' \
% (self.typecasts[datatype], dflt)
***************
*** 399,405 ****
self.dest.write ("\n")
! if len(sys.argv) > 1:
! GenerateDTD(sys.argv[1])
! else:
GenerateDTD(None)
--- 431,442 ----
self.dest.write ("\n")
! if len(sys.argv) > 1:
! try:
! dest = open(sys.argv[2],'w')
! except IndexError:
! dest = sys.stdout
! GenerateDTD(sys.argv[1], dest)
! dest.close()
! else:
GenerateDTD(None)
Index: gnue/common/src/GConditions.py
diff -c gnue/common/src/GConditions.py:1.16 gnue/common/src/GConditions.py:1.17
*** gnue/common/src/GConditions.py:1.16 Wed Jun 5 15:15:58 2002
--- gnue/common/src/GConditions.py Sun Jun 30 20:30:50 2002
***************
*** 324,331 ****
'name': {
'Required': 1,
'Typecast': GTypecast.name } },
! 'ParentTags': ('eq','ne','lt','le','gt','ge',
! 'like','notlike','between','notbetween') },
'cparam': {
'BaseClass': GCParam,
'Attributes': {
--- 324,331 ----
'name': {
'Required': 1,
'Typecast': GTypecast.name } },
! 'ParentTags': ('eq','ne','lt','le','gt','ge','add','sub','mul',
! 'div','like','notlike','between','notbetween') },
'cparam': {
'BaseClass': GCParam,
'Attributes': {
***************
*** 333,348 ****
'Required': 1,
'Unique': 1,
'Typecast': GTypecast.name } },
! 'ParentTags': ('eq','ne','lt','le','gt','ge',
! 'like','notlike','between','notbetween') },
'cconst': {
'BaseClass': GCConst,
'Attributes': {
'value': {
'Required': 1,
'Typecast': GTypecast.text } },
! 'ParentTags': ('eq','ne','lt','le','gt','ge',
! 'like','notlike','between','notbetween') },
'and': {
'BaseClass': GCand,
'ParentTags': ('condition','and','or','not','negate') },
--- 333,364 ----
'Required': 1,
'Unique': 1,
'Typecast': GTypecast.name } },
! 'ParentTags': ('eq','ne','lt','le','gt','ge','add','sub','mul',
! 'div','like','notlike','between','notbetween') },
'cconst': {
'BaseClass': GCConst,
'Attributes': {
'value': {
'Required': 1,
'Typecast': GTypecast.text } },
! 'ParentTags': ('eq','ne','lt','le','gt','ge','add','sub','mul',
! 'div','like','notlike','between','notbetween') },
! 'add': {
! 'BaseClass': GCadd,
! 'ParentTags': ('eq','ne','lt','le','gt','ge','add','sub','mul',
! 'div','like','notlike','between','notbetween') },
! 'sub': {
! 'BaseClass': GCsub,
! 'ParentTags': ('eq','ne','lt','le','gt','ge','add','sub','mul',
! 'div','like','notlike','between','notbetween') },
! 'mul': {
! 'BaseClass': GCmul,
! 'ParentTags': ('eq','ne','lt','le','gt','ge','add','sub','mul',
! 'div','like','notlike','between','notbetween') },
! 'div': {
! 'BaseClass': GCdiv,
! 'ParentTags': ('eq','ne','lt','le','gt','ge','add','sub','mul',
! 'div','like','notlike','between','notbetween') },
'and': {
'BaseClass': GCand,
'ParentTags': ('condition','and','or','not','negate') },
***************
*** 357,400 ****
'ParentTags': ('condition','and','or','not','negate') },
'eq': {
'BaseClass': GCeq,
! 'ParentTags': ('eq','ne','lt','le','gt','ge',
! 'like','notlike','between','notbetween') },
'ne': {
'BaseClass': GCne,
! 'ParentTags': ('eq','ne','lt','le','gt','ge',
! 'like','notlike','between','notbetween') },
'gt': {
'BaseClass': GCgt,
! 'ParentTags': ('eq','ne','lt','le','gt','ge',
! 'like','notlike','between','notbetween') },
'ge': {
'BaseClass': GCge,
! 'ParentTags': ('eq','ne','lt','le','gt','ge',
! 'like','notlike','between','notbetween') },
'lt': {
'BaseClass': GClt,
! 'ParentTags': ('eq','ne','lt','le','gt','ge',
! 'like','notlike','between','notbetween') },
'le': {
'BaseClass': GCle,
! 'ParentTags': ('eq','ne','lt','le','gt','ge',
! 'like','notlike','between','notbetween') },
'like': {
'BaseClass': GClike,
! 'ParentTags': ('eq','ne','lt','le','gt','ge',
! 'like','notlike','between','notbetween') },
'notlike': {
'BaseClass': GCnotlike,
! 'ParentTags': ('eq','ne','lt','le','gt','ge',
! 'like','notlike','between','notbetween') },
'between': {
'BaseClass': GCbetween,
! 'ParentTags': ('eq','ne','lt','le','gt','ge',
! 'like','notlike','between','notbetween') },
'notbetween': {
'BaseClass': GCnotbetween,
! 'ParentTags': ('eq','ne','lt','le','gt','ge',
! 'like','notlike','between','notbetween') } }
for alteration in updates.keys():
xmlElements[alteration].update(updates[alteration])
--- 373,406 ----
'ParentTags': ('condition','and','or','not','negate') },
'eq': {
'BaseClass': GCeq,
! 'ParentTags': ('condition','and','or','not','negate') },
'ne': {
'BaseClass': GCne,
! 'ParentTags': ('condition','and','or','not','negate') },
'gt': {
'BaseClass': GCgt,
! 'ParentTags': ('condition','and','or','not','negate') },
'ge': {
'BaseClass': GCge,
! 'ParentTags': ('condition','and','or','not','negate') },
'lt': {
'BaseClass': GClt,
! 'ParentTags': ('condition','and','or','not','negate') },
'le': {
'BaseClass': GCle,
! 'ParentTags': ('condition','and','or','not','negate') },
'like': {
'BaseClass': GClike,
! 'ParentTags': ('condition','and','or','not','negate') },
'notlike': {
'BaseClass': GCnotlike,
! 'ParentTags': ('condition','and','or','not','negate') },
'between': {
'BaseClass': GCbetween,
! 'ParentTags': ('condition','and','or','not','negate') },
'notbetween': {
'BaseClass': GCnotbetween,
! 'ParentTags': ('condition','and','or','not','negate') }}
for alteration in updates.keys():
xmlElements[alteration].update(updates[alteration])
Index: gnue/common/src/GMenu.py
diff -c gnue/common/src/GMenu.py:1.2 gnue/common/src/GMenu.py:1.3
*** gnue/common/src/GMenu.py:1.2 Sun Feb 17 01:08:46 2002
--- gnue/common/src/GMenu.py Sun Jun 30 20:30:50 2002
***************
*** 16,22 ****
# write to the Free Software Foundation, Inc., 59 Temple Place
# - Suite 330, Boston, MA 02111-1307, USA.
#
! # Copyright 2000, 2001, 2002 Free Software Foundation
#
# FILE:
# GMenu.py
--- 16,22 ----
# write to the Free Software Foundation, Inc., 59 Temple Place
# - Suite 330, Boston, MA 02111-1307, USA.
#
! # Copyright 2000-2002 Free Software Foundation
#
# FILE:
# GMenu.py
***************
*** 70,76 ****
def fireMenuItem(self):
print "You're fired!"
!
######
#
# Used by client GParsers to automatically pull supported xml tags
--- 70,76 ----
def fireMenuItem(self):
print "You're fired!"
!
######
#
# Used by client GParsers to automatically pull supported xml tags
***************
*** 108,117 ****
'Typecast': GTypecast.text },
'enabled': {
'Typecast': GTypecast.boolean,
! 'Default': 0 },
! 'ParentTags': None },
! }
! }
for alteration in updates.keys():
xmlElements[alteration].update(updates[alteration])
--- 108,116 ----
'Typecast': GTypecast.text },
'enabled': {
'Typecast': GTypecast.boolean,
! 'Default': 0 } },
! 'ParentTags': None ,
! }}
for alteration in updates.keys():
xmlElements[alteration].update(updates[alteration])
Index: gnue/forms/doc/gnue-forms.dtd
diff -c gnue/forms/doc/gnue-forms.dtd:1.2 gnue/forms/doc/gnue-forms.dtd:1.3
*** gnue/forms/doc/gnue-forms.dtd:1.2 Wed Jul 4 20:40:53 2001
--- gnue/forms/doc/gnue-forms.dtd Sun Jun 30 20:30:50 2002
***************
*** 1,23 ****
! <!-- GNUe Forms DTD (Version pre0.1.0) -->
<!--
! Copyright 2001 Free Software Foundation
!
This file is part of GNU Enterprise.
!
! GNU Enterprise is free software; you can redistribute it
! and/or modify it under the terms of the GNU General Public
! License as published by the Free Software Foundation; either
version 2, or (at your option) any later version.
!
! GNU Enterprise is distributed in the hope that it will be
! useful, but WITHOUT ANY WARRANTY; without even the implied
! warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the GNU General Public License for more details.
!
! You should have received a copy of the GNU General Public
! License along with program; see the file COPYING. If not,
! write to the Free Software Foundation, Inc., 59 Temple Place
- Suite 330, Boston, MA 02111-1307, USA.
-->
--- 1,23 ----
! <!-- GNUe Forms DTD (Version 0.4.0a) -->
<!--
! Copyright 2001-2002 Free Software Foundation
!
This file is part of GNU Enterprise.
!
! GNU Enterprise is free software; you can redistribute it
! and/or modify it under the terms of the GNU General Public
! License as published by the Free Software Foundation; either
version 2, or (at your option) any later version.
!
! GNU Enterprise is distributed in the hope that it will be
! useful, but WITHOUT ANY WARRANTY; without even the implied
! warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the GNU General Public License for more details.
!
! You should have received a copy of the GNU General Public
! License along with program; see the file COPYING. If not,
! write to the Free Software Foundation, Inc., 59 Temple Place
- Suite 330, Boston, MA 02111-1307, USA.
-->
***************
*** 26,44 ****
<!ENTITY gt ">">
<!ENTITY amp "&#38;">
! <!-- +---------------------------------------------------+ -->
<!-- | Datatype entities to make DTD more human readable | -->
<!-- +---------------------------------------------------+ -->
! <!ENTITY % text "CDATA">
! <!ENTITY % boolean "(%true;) #IMPLIED">
! <!ENTITY % true "">
! <!ENTITY % whole "NMTOKEN">
<!-- [0-9]+ -->
! <!ENTITY % name "NMTOKEN">
<!-- [A-Za-z]([A-Z][a-z][0-9][#$_-])* -->
--- 26,45 ----
<!ENTITY gt ">">
<!ENTITY amp "&#38;">
! <!-- +---------------------------------------------------+ -->
<!-- | Datatype entities to make DTD more human readable | -->
<!-- +---------------------------------------------------+ -->
! <!ENTITY text "CDATA">
! <!ENTITY boolean "(%true;|%false;) #IMPLIED">
! <!ENTITY true "Y">
! <!ENTITY false "N">
! <!ENTITY whole "NMTOKEN">
<!-- [0-9]+ -->
! <!ENTITY name "NMTOKEN">
<!-- [A-Za-z]([A-Z][a-z][0-9][#$_-])* -->
***************
*** 47,53 ****
<!-- | Top level element | -->
<!-- +-------------------+ -->
<!ELEMENT form (database*, datasource*, import*, import-datasource*,
! import-page*, import-trigger*, options?, page+, trigger*)>
<!ATTLIST form height %whole; #DEFAULT "12">
<!ATTLIST form readonly %boolean;>
<!ATTLIST form tabbed (bottom | left | right | top) #IMPLIED>
--- 48,55 ----
<!-- | Top level element | -->
<!-- +-------------------+ -->
<!ELEMENT form (database*, datasource*, import*, import-datasource*,
! import-page*, import-trigger*, menu*, options?, page+,
! trigger*)>
<!ATTLIST form height %whole; #DEFAULT "12">
<!ATTLIST form readonly %boolean;>
<!ATTLIST form tabbed (bottom | left | right | top) #IMPLIED>
***************
*** 58,73 ****
<!-- +------------------------+ -->
<!-- | Child elements of form | -->
<!-- +------------------------+ -->
! <!-- DEPRECATED: Use of the database element has been deprecated -->
<!ELEMENT database EMPTY>
<!ATTLIST database name ID #REQUIRED>
- <!ATTLIST database dbname %text; #REQUIRED>
- <!ATTLIST database host %text; #REQUIRED>
<!ATTLIST database provider %name; #REQUIRED>
! <!ELEMENT datasource EMPTY>
<!ATTLIST datasource name ID #REQUIRED>
! <!ATTLIST datasource cache %whole; #IMPLIED>
<!ATTLIST datasource database %name; #IMPLIED>
<!ATTLIST datasource detaillink %text; #IMPLIED>
<!ATTLIST datasource master %name; #IMPLIED>
--- 60,78 ----
<!-- +------------------------+ -->
<!-- | Child elements of form | -->
<!-- +------------------------+ -->
! <!-- DEPRECATED: Use of the <database> element has been deprecated [Use the
! external connections file format.] -->
<!ELEMENT database EMPTY>
<!ATTLIST database name ID #REQUIRED>
<!ATTLIST database provider %name; #REQUIRED>
+ <!ATTLIST database comment %text; #IMPLIED>
+ <!ATTLIST database dbname %text; #IMPLIED>
+ <!ATTLIST database host %text; #IMPLIED>
+ <!ATTLIST database service %text; #IMPLIED>
! <!ELEMENT datasource (conditions?)>
<!ATTLIST datasource name ID #REQUIRED>
! <!ATTLIST datasource cache %whole; #DEFAULT "5">
<!ATTLIST datasource database %name; #IMPLIED>
<!ATTLIST datasource detaillink %text; #IMPLIED>
<!ATTLIST datasource master %name; #IMPLIED>
***************
*** 86,92 ****
<!ELEMENT import-datasource EMPTY>
<!ATTLIST import-datasource name ID #REQUIRED>
<!ATTLIST import-datasource library %name; #REQUIRED>
! <!ATTLIST import-datasource cache %whole; #IMPLIED>
<!ATTLIST import-datasource database %name; #IMPLIED>
<!ATTLIST import-datasource detaillink %text; #IMPLIED>
<!ATTLIST import-datasource master %name; #IMPLIED>
--- 91,97 ----
<!ELEMENT import-datasource EMPTY>
<!ATTLIST import-datasource name ID #REQUIRED>
<!ATTLIST import-datasource library %name; #REQUIRED>
! <!ATTLIST import-datasource cache %whole; #DEFAULT "5">
<!ATTLIST import-datasource database %name; #IMPLIED>
<!ATTLIST import-datasource detaillink %text; #IMPLIED>
<!ATTLIST import-datasource master %name; #IMPLIED>
***************
*** 102,113 ****
<!ELEMENT import-trigger EMPTY>
<!ATTLIST import-trigger library %name; #REQUIRED>
! <!-- DEPRECATED: The id attribute of import-trigger has been deprecated -->
<!ATTLIST import-trigger id %name; #IMPLIED>
<!ATTLIST import-trigger language %name; #FIXED "python">
<!ATTLIST import-trigger name ID #IMPLIED>
<!ATTLIST import-trigger src IDREF #IMPLIED>
! <!ATTLIST import-trigger type %name; #IMPLIED>
<!ELEMENT options (author?, description?, name?, option*, tip?, title?,
version?, width?)>
--- 107,129 ----
<!ELEMENT import-trigger EMPTY>
<!ATTLIST import-trigger library %name; #REQUIRED>
! <!-- DEPRECATED: The "id" attribute of "import-trigger" has been deprecated
! [Use name="..." instead.] -->
<!ATTLIST import-trigger id %name; #IMPLIED>
<!ATTLIST import-trigger language %name; #FIXED "python">
<!ATTLIST import-trigger name ID #IMPLIED>
<!ATTLIST import-trigger src IDREF #IMPLIED>
! <!ATTLIST import-trigger type CDATA #IMPLIED>
!
! <!ELEMENT menu EMPTY>
! <!ATTLIST menu name ID #REQUIRED>
! <!ATTLIST menu enabled %boolean;>
! <!ATTLIST menu event %text; #IMPLIED>
! <!ATTLIST menu label %name; #IMPLIED>
! <!ATTLIST menu leader %text; #IMPLIED>
! <!ATTLIST menu location %text; #IMPLIED>
! <!ATTLIST menu trigger %name; #IMPLIED>
! <!ATTLIST menu type %name; #IMPLIED>
<!ELEMENT options (author?, description?, name?, option*, tip?, title?,
version?, width?)>
***************
*** 117,128 ****
<!ATTLIST page name ID #IMPLIED>
<!ELEMENT trigger EMPTY>
! <!-- DEPRECATED: The id attribute of trigger has been deprecated -->
<!ATTLIST trigger id %name; #IMPLIED>
<!ATTLIST trigger language %name; #FIXED "python">
<!ATTLIST trigger name ID #IMPLIED>
<!ATTLIST trigger src IDREF #IMPLIED>
! <!ATTLIST trigger type %name; #IMPLIED>
<!-- +---------------------------+ -->
--- 133,151 ----
<!ATTLIST page name ID #IMPLIED>
<!ELEMENT trigger EMPTY>
! <!-- DEPRECATED: The "id" attribute of "trigger" has been deprecated [Use
! name="..." instead.] -->
<!ATTLIST trigger id %name; #IMPLIED>
<!ATTLIST trigger language %name; #FIXED "python">
<!ATTLIST trigger name ID #IMPLIED>
<!ATTLIST trigger src IDREF #IMPLIED>
! <!ATTLIST trigger type CDATA #IMPLIED>
!
!
! <!-- +------------------------------+ -->
! <!-- | Child elements of datasource | -->
! <!-- +------------------------------+ -->
! <!ELEMENT conditions (condition*)>
<!-- +---------------------------+ -->
***************
*** 148,154 ****
<!ATTLIST tip name %name; #FIXED "tip">
<!ATTLIST tip value %text; #IMPLIED>
! <!-- DEPRECATED: Use of the title element has been deprecated -->
<!ELEMENT title EMPTY>
<!ATTLIST title name %name; #FIXED "title">
<!ATTLIST title value %text; #IMPLIED>
--- 171,178 ----
<!ATTLIST tip name %name; #FIXED "tip">
<!ATTLIST tip value %text; #IMPLIED>
! <!-- DEPRECATED: Use of the <title> element has been deprecated [Use the
! <form> attribute "title" instead.] -->
<!ELEMENT title EMPTY>
<!ATTLIST title name %name; #FIXED "title">
<!ATTLIST title value %text; #IMPLIED>
***************
*** 157,163 ****
<!ATTLIST version name %name; #FIXED "version">
<!ATTLIST version value %text; #IMPLIED>
! <!-- DEPRECATED: Use of the width element has been deprecated -->
<!ELEMENT width EMPTY>
<!ATTLIST width name %name; #FIXED "width">
<!ATTLIST width value %text; #IMPLIED>
--- 181,188 ----
<!ATTLIST version name %name; #FIXED "version">
<!ATTLIST version value %text; #IMPLIED>
! <!-- DEPRECATED: Use of the <width> element has been deprecated [Use the
! <form> attribute "width" instead.] -->
<!ELEMENT width EMPTY>
<!ATTLIST width name %name; #FIXED "width">
<!ATTLIST width value %text; #IMPLIED>
***************
*** 170,179 ****
scrollbar*)>
<!ATTLIST block name ID #REQUIRED>
<!ATTLIST block datasource IDREF #IMPLIED>
! <!ATTLIST block detail IDREF #IMPLIED>
! <!ATTLIST block master IDREF #IMPLIED>
<!ATTLIST block rowSpacer %whole; #IMPLIED>
! <!ATTLIST block rows %whole; #DEFAULT "1">
<!ATTLIST block transparentBlock %boolean;>
<!ELEMENT box EMPTY>
--- 195,204 ----
scrollbar*)>
<!ATTLIST block name ID #REQUIRED>
<!ATTLIST block datasource IDREF #IMPLIED>
! <!ATTLIST block restrictDelete %boolean;>
! <!ATTLIST block restrictInsert %boolean;>
<!ATTLIST block rowSpacer %whole; #IMPLIED>
! <!ATTLIST block rows %whole; #IMPLIED>
<!ATTLIST block transparentBlock %boolean;>
<!ELEMENT box EMPTY>
***************
*** 197,206 ****
<!ATTLIST import-block name ID #REQUIRED>
<!ATTLIST import-block library %name; #REQUIRED>
<!ATTLIST import-block datasource IDREF #IMPLIED>
! <!ATTLIST import-block detail IDREF #IMPLIED>
! <!ATTLIST import-block master IDREF #IMPLIED>
<!ATTLIST import-block rowSpacer %whole; #IMPLIED>
! <!ATTLIST import-block rows %whole; #DEFAULT "1">
<!ATTLIST import-block transparentBlock %boolean;>
<!ELEMENT import-button EMPTY>
--- 222,231 ----
<!ATTLIST import-block name ID #REQUIRED>
<!ATTLIST import-block library %name; #REQUIRED>
<!ATTLIST import-block datasource IDREF #IMPLIED>
! <!ATTLIST import-block restrictDelete %boolean;>
! <!ATTLIST import-block restrictInsert %boolean;>
<!ATTLIST import-block rowSpacer %whole; #IMPLIED>
! <!ATTLIST import-block rows %whole; #IMPLIED>
<!ATTLIST import-block transparentBlock %boolean;>
<!ELEMENT import-button EMPTY>
***************
*** 219,224 ****
--- 244,251 ----
<!ATTLIST label y %whole; #REQUIRED>
<!ATTLIST label alignment (center | left | right) "left">
<!ATTLIST label name ID #IMPLIED>
+ <!ATTLIST label rowSpacer %whole; #IMPLIED>
+ <!ATTLIST label rows %whole; #IMPLIED>
<!ATTLIST label width %whole; #IMPLIED>
<!ELEMENT scrollbar EMPTY>
***************
*** 228,233 ****
--- 255,267 ----
<!ATTLIST scrollbar y %whole; #REQUIRED>
+ <!-- +------------------------------+ -->
+ <!-- | Child elements of conditions | -->
+ <!-- +------------------------------+ -->
+ <!ELEMENT condition (and*, between*, eq*, ge*, gt*, le*, like*, lt*, ne*,
+ negate*, not*, notbetween*, notlike*, or*)>
+
+
<!-- +-------------------------+ -->
<!-- | Child elements of block | -->
<!-- +-------------------------+ -->
***************
*** 235,257 ****
<!ATTLIST entry name ID #REQUIRED>
<!ATTLIST entry x %whole; #REQUIRED>
<!ATTLIST entry y %whole; #REQUIRED>
<!ATTLIST entry default %text; #IMPLIED>
<!ATTLIST entry field %name; #IMPLIED>
<!ATTLIST entry foreign_key %name; #IMPLIED>
<!ATTLIST entry foreign_key_description %text; #IMPLIED>
<!ATTLIST entry height %whole; #DEFAULT "1">
<!ATTLIST entry hidden %boolean;>
<!ATTLIST entry lowercase %boolean;>
<!ATTLIST entry max_length %whole; #IMPLIED>
<!ATTLIST entry numeric %boolean;>
<!ATTLIST entry queryDefault %text; #IMPLIED>
<!ATTLIST entry readonly %boolean;>
<!ATTLIST entry sloppyQuery %text; #IMPLIED>
<!ATTLIST entry style (checkbox | default | dropdown) "default">
<!ATTLIST entry uppercase %boolean;>
<!ATTLIST entry value %text; #IMPLIED>
! <!-- DEPRECATED: The visibleCount attribute of entry has been deprecated -->
! <!ATTLIST entry visibleCount %whole; #DEFAULT "1">
<!ATTLIST entry width %whole; #IMPLIED>
<!ELEMENT import-entry EMPTY>
--- 269,323 ----
<!ATTLIST entry name ID #REQUIRED>
<!ATTLIST entry x %whole; #REQUIRED>
<!ATTLIST entry y %whole; #REQUIRED>
+ <!ATTLIST entry case (lower | mixed | upper) "mixed">
<!ATTLIST entry default %text; #IMPLIED>
+ <!ATTLIST entry displaymask %text; #IMPLIED>
+ <!-- editOnNull: Only allow this object to be edited if it is currently
empty.
+ -->
+ <!ATTLIST entry editOnNull %boolean;>
<!ATTLIST entry field %name; #IMPLIED>
+ <!ATTLIST entry fk_description %name; #IMPLIED>
+ <!ATTLIST entry fk_key %name; #IMPLIED>
+ <!ATTLIST entry fk_source %name; #IMPLIED>
+ <!-- DEPRECATED: The "foreign_key" attribute of "entry" has been deprecated
+ [Use fk_source="..." and fk_key="..." instead.] -->
<!ATTLIST entry foreign_key %name; #IMPLIED>
+ <!-- DEPRECATED: The "foreign_key_description" attribute of "entry" has been
+ deprecated [Use fk_description="..." instead.] -->
<!ATTLIST entry foreign_key_description %text; #IMPLIED>
+ <!ATTLIST entry formatmask %text; #IMPLIED>
<!ATTLIST entry height %whole; #DEFAULT "1">
<!ATTLIST entry hidden %boolean;>
+ <!ATTLIST entry ignoreCaseOnQuery %boolean;>
+ <!ATTLIST entry inputmask %text; #IMPLIED>
+ <!-- DEPRECATED: The "lowercase" attribute of "entry" has been deprecated
[Use
+ case="lower" instead.] -->
<!ATTLIST entry lowercase %boolean;>
<!ATTLIST entry max_length %whole; #IMPLIED>
+ <!-- no_ltrim: Suppress trimming of extraneous space at beginning of user
+ input. -->
+ <!ATTLIST entry no_ltrim %boolean;>
+ <!-- no_rtrim: Suppress trimming of extraneous space at end of user input. -->
+ <!ATTLIST entry no_rtrim %boolean;>
+ <!-- DEPRECATED: The "numeric" attribute of "entry" has been deprecated [Use
+ typecast="number" instead] -->
<!ATTLIST entry numeric %boolean;>
<!ATTLIST entry queryDefault %text; #IMPLIED>
<!ATTLIST entry readonly %boolean;>
+ <!-- required: This object cannot have an empty value prior to a commit. -->
+ <!ATTLIST entry required %boolean;>
+ <!ATTLIST entry rowSpacer %whole; #IMPLIED>
+ <!ATTLIST entry rows %whole; #IMPLIED>
<!ATTLIST entry sloppyQuery %text; #IMPLIED>
<!ATTLIST entry style (checkbox | default | dropdown) "default">
+ <!ATTLIST entry typecast (date | number | text) "text">
+ <!-- DEPRECATED: The "uppercase" attribute of "entry" has been deprecated
[Use
+ case="upper" instead.] -->
<!ATTLIST entry uppercase %boolean;>
<!ATTLIST entry value %text; #IMPLIED>
! <!-- DEPRECATED: The "visibleCount" attribute of "entry" has been deprecated
! [Use the <block> "rows" attribute instead.] -->
! <!ATTLIST entry visibleCount %whole; #IMPLIED>
<!ATTLIST entry width %whole; #IMPLIED>
<!ELEMENT import-entry EMPTY>
***************
*** 259,285 ****
<!ATTLIST import-entry library %name; #REQUIRED>
<!ATTLIST import-entry x %whole; #REQUIRED>
<!ATTLIST import-entry y %whole; #REQUIRED>
<!ATTLIST import-entry default %text; #IMPLIED>
<!ATTLIST import-entry field %name; #IMPLIED>
<!ATTLIST import-entry foreign_key %name; #IMPLIED>
<!ATTLIST import-entry foreign_key_description %text; #IMPLIED>
<!ATTLIST import-entry height %whole; #DEFAULT "1">
<!ATTLIST import-entry hidden %boolean;>
<!ATTLIST import-entry lowercase %boolean;>
<!ATTLIST import-entry max_length %whole; #IMPLIED>
<!ATTLIST import-entry numeric %boolean;>
<!ATTLIST import-entry queryDefault %text; #IMPLIED>
<!ATTLIST import-entry readonly %boolean;>
<!ATTLIST import-entry sloppyQuery %text; #IMPLIED>
<!ATTLIST import-entry style (checkbox | default | dropdown) "default">
<!ATTLIST import-entry uppercase %boolean;>
<!ATTLIST import-entry value %text; #IMPLIED>
! <!-- DEPRECATED: The visibleCount attribute of import-entry has been
! deprecated -->
! <!ATTLIST import-entry visibleCount %whole; #DEFAULT "1">
<!ATTLIST import-entry width %whole; #IMPLIED>
<!-- This DTD was created by gnuedtd
! Updated: 2001-07-04 17:44:06 -->
--- 325,440 ----
<!ATTLIST import-entry library %name; #REQUIRED>
<!ATTLIST import-entry x %whole; #REQUIRED>
<!ATTLIST import-entry y %whole; #REQUIRED>
+ <!ATTLIST import-entry case (lower | mixed | upper) "mixed">
<!ATTLIST import-entry default %text; #IMPLIED>
+ <!ATTLIST import-entry displaymask %text; #IMPLIED>
+ <!-- editOnNull: Only allow this object to be edited if it is currently
empty.
+ -->
+ <!ATTLIST import-entry editOnNull %boolean;>
<!ATTLIST import-entry field %name; #IMPLIED>
+ <!ATTLIST import-entry fk_description %name; #IMPLIED>
+ <!ATTLIST import-entry fk_key %name; #IMPLIED>
+ <!ATTLIST import-entry fk_source %name; #IMPLIED>
+ <!-- DEPRECATED: The "foreign_key" attribute of "import-entry" has been
+ deprecated [Use fk_source="..." and fk_key="..." instead.]
+ -->
<!ATTLIST import-entry foreign_key %name; #IMPLIED>
+ <!-- DEPRECATED: The "foreign_key_description" attribute of "import-entry"
has
+ been deprecated [Use fk_description="..." instead.] -->
<!ATTLIST import-entry foreign_key_description %text; #IMPLIED>
+ <!ATTLIST import-entry formatmask %text; #IMPLIED>
<!ATTLIST import-entry height %whole; #DEFAULT "1">
<!ATTLIST import-entry hidden %boolean;>
+ <!ATTLIST import-entry ignoreCaseOnQuery %boolean;>
+ <!ATTLIST import-entry inputmask %text; #IMPLIED>
+ <!-- DEPRECATED: The "lowercase" attribute of "import-entry" has been
+ deprecated [Use case="lower" instead.] -->
<!ATTLIST import-entry lowercase %boolean;>
<!ATTLIST import-entry max_length %whole; #IMPLIED>
+ <!-- no_ltrim: Suppress trimming of extraneous space at beginning of user
+ input. -->
+ <!ATTLIST import-entry no_ltrim %boolean;>
+ <!-- no_rtrim: Suppress trimming of extraneous space at end of user input. -->
+ <!ATTLIST import-entry no_rtrim %boolean;>
+ <!-- DEPRECATED: The "numeric" attribute of "import-entry" has been
deprecated
+ [Use typecast="number" instead] -->
<!ATTLIST import-entry numeric %boolean;>
<!ATTLIST import-entry queryDefault %text; #IMPLIED>
<!ATTLIST import-entry readonly %boolean;>
+ <!-- required: This object cannot have an empty value prior to a commit. -->
+ <!ATTLIST import-entry required %boolean;>
+ <!ATTLIST import-entry rowSpacer %whole; #IMPLIED>
+ <!ATTLIST import-entry rows %whole; #IMPLIED>
<!ATTLIST import-entry sloppyQuery %text; #IMPLIED>
<!ATTLIST import-entry style (checkbox | default | dropdown) "default">
+ <!ATTLIST import-entry typecast (date | number | text) "text">
+ <!-- DEPRECATED: The "uppercase" attribute of "import-entry" has been
+ deprecated [Use case="upper" instead.] -->
<!ATTLIST import-entry uppercase %boolean;>
<!ATTLIST import-entry value %text; #IMPLIED>
! <!-- DEPRECATED: The "visibleCount" attribute of "import-entry" has been
! deprecated [Use the <block> "rows" attribute instead.] -->
! <!ATTLIST import-entry visibleCount %whole; #IMPLIED>
<!ATTLIST import-entry width %whole; #IMPLIED>
+ <!-- +-----------------------------+ -->
+ <!-- | Child elements of condition | -->
+ <!-- +-----------------------------+ -->
+ <!ELEMENT and (and*, between*, condition*, eq*, ge*, gt*, le*, like*, lt*,
+ ne*, negate*, not*, notbetween*, notlike*, or*)>
+
+ <!ELEMENT between (add*, cconst*, cfield*, cparam*, div*, mul*, sub*)>
+
+ <!ELEMENT eq (add*, cconst*, cfield*, cparam*, div*, mul*, sub*)>
+
+ <!ELEMENT ge (add*, cconst*, cfield*, cparam*, div*, mul*, sub*)>
+
+ <!ELEMENT gt (add*, cconst*, cfield*, cparam*, div*, mul*, sub*)>
+
+ <!ELEMENT le (add*, cconst*, cfield*, cparam*, div*, mul*, sub*)>
+
+ <!ELEMENT like (add*, cconst*, cfield*, cparam*, div*, mul*, sub*)>
+
+ <!ELEMENT lt (add*, cconst*, cfield*, cparam*, div*, mul*, sub*)>
+
+ <!ELEMENT ne (add*, cconst*, cfield*, cparam*, div*, mul*, sub*)>
+
+ <!ELEMENT negate (and*, between*, condition*, eq*, ge*, gt*, le*, like*, lt*,
+ ne*, negate*, not*, notbetween*, notlike*, or*)>
+
+ <!ELEMENT not (and*, between*, condition*, eq*, ge*, gt*, le*, like*, lt*,
+ ne*, negate*, not*, notbetween*, notlike*, or*)>
+
+ <!ELEMENT notbetween (add*, cconst*, cfield*, cparam*, div*, mul*, sub*)>
+
+ <!ELEMENT notlike (add*, cconst*, cfield*, cparam*, div*, mul*, sub*)>
+
+ <!ELEMENT or (and*, between*, condition*, eq*, ge*, gt*, le*, like*, lt*,
ne*,
+ negate*, not*, notbetween*, notlike*, or*)>
+
+
+ <!-- +---------------------------+ -->
+ <!-- | Child elements of between | -->
+ <!-- +---------------------------+ -->
+ <!ELEMENT add (add*, cconst*, cfield*, cparam*, div*, mul*, sub*)>
+
+ <!ELEMENT cconst EMPTY>
+ <!ATTLIST cconst value %text; #REQUIRED>
+
+ <!ELEMENT cfield EMPTY>
+ <!ATTLIST cfield name %name; #REQUIRED>
+
+ <!ELEMENT cparam EMPTY>
+ <!ATTLIST cparam name ID #REQUIRED>
+
+ <!ELEMENT div (add*, cconst*, cfield*, cparam*, div*, mul*, sub*)>
+
+ <!ELEMENT mul (add*, cconst*, cfield*, cparam*, div*, mul*, sub*)>
+
+ <!ELEMENT sub (add*, cconst*, cfield*, cparam*, div*, mul*, sub*)>
+
+
<!-- This DTD was created by gnuedtd
! Updated: 2002-06-30 19:11:53 -->
Index: gnue/forms/src/GFParser.py
diff -c gnue/forms/src/GFParser.py:1.66 gnue/forms/src/GFParser.py:1.67
*** gnue/forms/src/GFParser.py:1.66 Mon Jun 17 20:57:34 2002
--- gnue/forms/src/GFParser.py Sun Jun 30 20:30:50 2002
***************
*** 1,6 ****
#
- # Copyright 2000, 2001 Free Software Foundation
- #
# This file is part of GNU Enterprise.
#
# GNU Enterprise is free software; you can redistribute it
--- 1,4 ----
***************
*** 18,23 ****
--- 16,23 ----
# write to the Free Software Foundation, Inc., 59 Temple Place
# - Suite 330, Boston, MA 02111-1307, USA.
#
+ # Copyright 2000-2002 Free Software Foundation
+ #
# FILE:
# GFParser.py
#
***************
*** 49,55 ****
#######################################################
# This method loads a form from an XML file and returns
# a GFForm object. If initialize is 1 (default), then
! # the form is initialized and ready to go.
#
# (initialize=0 is currently not used -- will probably
# be used in the Forms Designer package where we will
--- 49,55 ----
#######################################################
# This method loads a form from an XML file and returns
# a GFForm object. If initialize is 1 (default), then
! # the form is initialized and ready to go.
#
# (initialize=0 is currently not used -- will probably
# be used in the Forms Designer package where we will
***************
*** 226,232 ****
'Typecast': GTypecast.whole },
'visibleCount':{
'Typecast': GTypecast.whole,
! 'Deprecated': 'Use the block "rows" attribute instead.' },
'rows': {
'Typecast': GTypecast.whole},
'rowSpacer': {
--- 226,232 ----
'Typecast': GTypecast.whole },
'visibleCount':{
'Typecast': GTypecast.whole,
! 'Deprecated': 'Use the <block> "rows" attribute instead.' },
'rows': {
'Typecast': GTypecast.whole},
'rowSpacer': {
***************
*** 275,294 ****
'number': {},
'date': {} },
'Default': 'text'},
! 'formatmask': {
! 'Typecast': GTypecast.text },
! 'inputmask': {
! 'Typecast': GTypecast.text },
! 'displaymask': {
! 'Typecast': GTypecast.text },
'value': {
'Typecast': GTypecast.text },
'foreign_key': {
'Typecast': GTypecast.name,
! 'Deprecated': 'Use fk_source and fk_key instead.' },
'foreign_key_description': {
'Typecast': GTypecast.text,
! 'Deprecated': 'Use fk_description instead.' },
'fk_source': {
'Typecast': GTypecast.name },
'fk_key': {
--- 275,294 ----
'number': {},
'date': {} },
'Default': 'text'},
! 'formatmask': {
! 'Typecast': GTypecast.text },
! 'inputmask': {
! 'Typecast': GTypecast.text },
! 'displaymask': {
! 'Typecast': GTypecast.text },
'value': {
'Typecast': GTypecast.text },
'foreign_key': {
'Typecast': GTypecast.name,
! 'Deprecated': 'Use fk_source="..." and fk_key="..." instead.'
},
'foreign_key_description': {
'Typecast': GTypecast.text,
! 'Deprecated': 'Use fk_description="..." instead.' },
'fk_source': {
'Typecast': GTypecast.name },
'fk_key': {
***************
*** 397,403 ****
'Unique': 1,
'Typecast': GTypecast.name },
'id': {
! 'Deprecated': 'Use name instead.', # DEPRECATED: Use name
instead
'Typecast': GTypecast.name },
'type': {
'Typecast': GTypecast.uppername },
--- 397,403 ----
'Unique': 1,
'Typecast': GTypecast.name },
'id': {
! 'Deprecated': 'Use name="..." instead.', # DEPRECATED: Use
name instead
'Typecast': GTypecast.name },
'type': {
'Typecast': GTypecast.uppername },
***************
*** 562,569 ****
# Add menu elements
#
xmlElements.update(
! GMenu.getXMLelements()
! )
#
# Add importable elements
--- 562,572 ----
# Add menu elements
#
xmlElements.update(
! GMenu.getXMLelements(
! updates={'menu': {
! ##'BaseClass': GFObjects.GFMenu,
! 'ParentTags': ('form',) },
! }))
#
# Add importable elements
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue common/doc/RPC-grpc-file.dtd common/script...,
Jason Cater <=