ARCHIVE

LICENSE TERMS

Copyright [2019] [Syntea software group a.s.]

Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at:

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS,  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

# Version 32.4.0, release-date 2019-04-02
– when X-component is generated from an element model where are no attributes and it has just a text child node, there are also generated getter/setter methods which have the “$” set before the name of element (e.g. get$name()).
The namespace URI for the X-definition version 3.2 is changed
– old: “http://www.xdef.org/3.2”
– new: “http://www.xdef.org/xdef/3.2”
The old value is also accepted (because of compatibility reason).

# Version 32.3.2, release-date 2019-03-24
– fixed error in generation of X-components from models where there are more nested models with the same name.

# Version 32.3.1, release-date 2019-03-21
– fixed error in generation of X-components from models with namespace URI.
Previous build info:
# Version 32.3.0, release-date 2019-03-12
– to the X-script added method XDValue replaceItem(int index, XDValue value). This method is member of the Container objects,
– fixed errors in conversion of X-definition to XML schema (in declared types).

– Corrected X-component bug when the prefix of the attribute namespace differs frm the prefix in the model. The method toXml() returns not then correct result.
– Now is available the technology of X-lexicon (see the document xdef-32_Lexicon.pdf).

– Corrected bug in the construction mode. Te initialization of variables in the X-script section “var” in the model of element was not invoked correctly.
– Corrected setting of stop addresses in the GUI of debugger.

– The previous vesrions were distributed by the site www.synntea.cz. in this version were renamed the packages “cz.synte.xdef” to “org.xdef”.

– Corrected backward compatibility of the validation type declaration in the X-definition version 2.0 (the keyword “parse:”).
– Corrected the bug if the missing element in the model is followed by optional elements which are also missing.
– Corrected the bug in construction mode. It was not invoked the initialization section in the section “var” in the X-script of  an element model.

– Corrected backward compatibility of the validation type declaration in the X-definition version 2.0 (the keyword “parse:”)
– Corrected bug if the missing elementin the model is followd by optional elements which are also missing.
– To the interface XMData is added method getRefTypeName(). It returns the name of a deklared type or null there is no a reference to a declard type.
– From the interface XMData deleted the method getEnumerationValues().
– The declaration of a macro can be noe written in the xd:declaration element.
– Corrected bug in the method XDFactory.compileXD(…)
– New lines in generated files (ie. X-components and registered report tables) are now generated according to the system platform (ie. CR LF in Windows, LF in Unix  etc).
– Corrected error in the class XDGenCollection.
– Repaired NullpointerException in uniqueSet (when an item is null).
– In the X-script are implemented new methodsabove objects of type uniqueSet: toContainer() from the key set is returned the object Container size() from the key set is returned the number of items.
– The interface cz.syntea.xdef.xml.KXmlConstants is now deprecated and the items are moved to cz.syntea.xdef.XDConstants.

– Added x-script validation method “xdType”. It checks if the text value  is a specification of predefined validation method. The result is saved to the parsed result.

– The type “uniqueSet” is extended. It is now possible to declare a value connected with a key (see BNF rule “UniqueSetVar”): UniqueSetDeclaration ::= “uniqueSet” S Identifier S? UniqueSetDeclarationBody
UniqueSetDeclarationBody ::=
(“{” UniqueSetItem (S?”;” UniqueSetItem)* (S?”;”S?)? S? “}”) | Method
/* The method must be a parser. */
UniqueSetItem ::= S? (UniqueSetVar | UniqueSetKey)
UniqueSetKey ::= S? Identifier (S?”:”S? ((“?” | “optional”) S? )? Method )?
/* The method must be a parser. */
UniqueSetVar ::= S? “var” S TypeIdentifier S Identifier
(S? “,” S? TypeIdentifier S Identifier)*
Example:
<xd:declaration> uniqueSet u {a: string(); var Parser x} </xd:declaration>

<def Name=’u.a.ID();’ Type=’xdType(); onTrue u.x=getParsedValue();’ />

<Param Name=’u.a.CHKID();’ Value=’u.x; ‘/>

– added the utility cz.syntea.xdef.util.GUIEditor. It enables to edit  and to debug projects with X-definitions.

– The attributes are processed in order of order as declared in X-definition.

– to the class cz.syntea.xdef.sys.BFFGrammar was added the method trace(PrintStream out) if the parameter is not null, the trace information is printed. If it is null no trace information is generated.

– to the X-skript was added the method “getTextContent()”, which returns the concatenated string with the text nodes of the current element and all   the descendants.

– Java source files are now in UTF-8 code.
– JAR INCLUDING SOURCE CODE.
– The internal implementaton of the XML parseru and XML builder was replaced by SAX parser and builder from javax package. Therefore were removed following classes from the package cz.syntea.xdef.xml:
KXmlParser
KDOMParser
KReaderParams
KXmlContentHandler
– The class GenDTD2XDEF was moved from the package cz.syntea.xdef.xml to the package cz.syntea.xdef.util
– The class cz.syntea.xdef.sys.StreamParser was ablolished. The functionality of the class cz.syntea.xdef.sys.StringParser was extended with the possibility to parse a stream.
– It was added the property “xdef.locationsdetails” (values “true” or “false”, see XDConstants XDPROPERTY_LOCATIONDETAILS). If the value is “true” then the the error reports is added the information about the positions of atributes in the parsed XML document. However, the process is then a bit  slower and requires in some cases more memory. The default value is “false”.
– tothe class  cz.syntea.xdef.XDPool is added the method isLocationsdetails() which returns the actual value of the switch.
– The method “pushParsedObject” in the BGF grammar was renamed to “push”.  If it is used without parameter, then it is pushed to the internal stack the text parsed in the actual rule until the place where it was specified. If a parameter is specified then its value is pushed to the internal stack.
– The method “PushParsedString” was abolished (it is now possible to use  the  “push” method without parameter.
– The method “popParsedObject” in the BGF grammar was renamed to “pop”.
– corrected errror in the X-component which uses anX-definitiojn with option”moreAttributes”
– added property “xdef.ignoreunresovedentities” with value “true” or “false”, default value is “false” – see cz.syntea.xdef.sys.XDConstants:
XDPROPERTY_IGNOREUNRESOLVEDENTITIES
XDPROPERTYVALUE_IGNOREUNRESOLVEDENTITIES_FALSE
XDPROPERTYVALUE_IGNOREUNRESOLVEDENTITIES_TRUE
– if value is “true” then the unresolved refenrences in DTD are ignored
– following methods in XDPool are removed from the implementation:
setResolveIncludes(boolean x)
setDisplayMode(byte mode)
setMinYear(int x);
setMaxYear(int x);
setSpecialDates(SDatetime[] x);
because they violated reentrantibility of the object XDPool, perameters is now possible to set only via properties.
– repaired incorrect reporting of some errors if X-definition runs under servlet
– repaired error of the Script method getCounter() in the “match” section
– corrected missing support of some unusual character set names
– repaired in some cases the incorrect error report XDEF235 (Ambiguous X-definition)

– on the Script of X-definition is implemented the new type of value “Locale”
this value is possible to create with following constructors:
new Locale(language) or
new Locale(language, country) or
new Locale(language, country, variant), where language is lowercase two-letter ISO-639 code, country is uppercase two-letter ISO-3166 code, variant is Java library vendor and browser specific code

– in the Script of X-definition are now implemented new methods:
format(mask, v1, …) creates string from arguments v1, …according to given mask
format(local, mask, v1, …) creates string from arguments v1, …according to given mask and according to specific geographical, political or cultural region from the parameter local (type Locale)
printf(mask, v1,…) prints string from arguments v1, … to standard output according to given mask
printf(local, mask, v1,…) prints string from arguments v1, … to standard output according to given mask and according to specific geographical, political or cultural region from the parameter local (type Locale)
printf(out, mask, v1,…) prints string from arguments v1, … to the output stream out according to given mask
printf(out, local, mask, v1,…) prints string from arguments v1, … to the output stream out according to given mask and according to specific geographical, political or cultural region from the parameter local (type Locale)
out.printf(mask, v1,…) prints string from arguments v1, … to the output stream out according to given mask
out.printf(local, mask, v1,…)  prints string from arguments v1, … to the output stream out according to given mask and according to specific geographical, political or cultural region from the parameter local (type Locale)

– corrected NullPoinerException in some cases in the Script methodcheck(x) on a Parser, when this method was invoked with a parameter x
– corrected error when a type refers to a validation method which is specified in the declaration section which is specified after the section where is reference
– repaired bug in the construction mode in some cases when the result was created from a value of the type Container
– refactored packages:
cz.syntea.common.msg -> cz.syntea.xdef.msg
cz.syntea.common.sys -> cz.syntea.xdef.sys
cz.syntea.common.xml -> cz.syntea.xdef.xml
– repaired bug in the Script command “external method” if the result type is specified as “cz.syntea.xdef.xx” (where xx is the type of value) or if the type is declared as XDContainer
– repaired bug in cz.syntea.common.sys.SManager when there are specified the external property files with a language version of reports
– with the methods “setProperty” or “setProperties” in the class cz,syntea.xdef.XDDocument is now possible to set the specified language of reports and to set the defalut language of reports
– repaired StringIndexOutOfBoundsException when the file name of X-definition is an empty string
– repaired bug in the Script method “error” with the parameter type of “Report”
– on the standard output streams (System.err, System.out) is now at the end of process invoked the method flush()
– repaired bug in the Script methods “setParameter” and “settType” on the type Report (and corrected documentation of it)
– declaration of external methods is now recorded to by the command external method deklarace metody; or external method { deklarace metody; … }
– repaired bug in some case of specified quantifier occurs 2..2
– the following classes were moved from the package cz.syntea.xdef to cz.syntea.xdef.proc: XXNode, XXDocument, XXEelement, XXData
– repaired NullPointerException in some cases when a rule of the BNF grammar does not exist
– the default X-definition verison is switched from 2.0 to 3.1
BACK