Support for arbitrary XML data sources
Genero Report Writer can produce reports from arbitrary XML data sources.
The xml source is described by an XML Schema. The Open schema file dialog proposes rdd and xsd file formats.
If an xsd file is selected, the designer interprets the file as follows:
- Any XML Attribute is considered a variable.
- Any simple type element with minOccurs=1 and maxOccurs=1 is considered a variable.
- Any complex type elements with minOccurs=0 or maxOccurs>1 produce triggers.
Encoding null values in the data
The attribute "
xsi:nil
" (with "xsi
" representing the namespace
"http://www.w3.org/2001/XMLSchema-instance
") can be used on an empty element to
denote a null value. The RTL function isNull()
for input variables will return true
for such a variable. For example, consider the following document fragment:
<input xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
…
<productReference xsi:nil="true"></productReference>
The RTL expression
productReference.isNull()
will yield true for this instance of the variable.Limitations
Recursive references are not supported. Elements involved in a recursive reference will be ignored by the designer.
Optional variables are not supported. A variable is optional if one of these conditions is
true:
- It is an XML simple type element with minOccurs="0".
- It is an XML Attribute without use="required" in the schema definition.
Simple type element with minOccurs="0" are discarded by the designer. No variable is created.
The designer creates variables for optional attributes and issues a warning. An error occurs if the variable is not present at runtime.