📄 extreport.dtd
字号:
class CDATA #IMPLIED
>
<!--
Creates a compound object. Compound objects are complex object that need
more than one property to be defined and can contain other objects in
their properties.
The defined properties for an object are specified by an object description.
The object description is registered in a ClassFactory, the class factory is
then used to lookup the object description and to create the object.
For a description of the class factories, have a look at the object-factory
element definition. A reference document can be generated for every object
factory.
The class parameter can be used to request the creation of a specific
subclass of the style key value object type. If you specify an incompatible
class, you'll get ClassCastExceptions during the parsing process.
The object factory is used to create the defined object, the specified
class must be known to the object factories.
-->
<!ELEMENT compound-object (basic-object|compound-object)*>
<!ATTLIST compound-object
name CDATA #REQUIRED
class CDATA #IMPLIED
>
<!--
Creates a basic object. Basic objects are object that just need
a single property to be defined and cannot contain other objects inside.
Basic objects are mostly used to define the primitive data objects of
java.lang, such as Float, Long, String etc.
The defined properties for an object are specified by an object description.
The object description is registered in a ClassFactory, the class factory is
then used to lookup the object description and to create the object.
For a description of the class factories, have a look at the object-factory
element definition. A reference document can be generated for every object
factory.
The class parameter can be used to request the creation of a specific
subclass of the style key value object type. If you specify an incompatible
class, you'll get ClassCastExceptions during the parsing process.
The object factory is used to create the defined object, the specified
class must be known to the object factories.
-->
<!ELEMENT basic-object (#PCDATA)>
<!ATTLIST basic-object
name CDATA #REQUIRED
class CDATA #IMPLIED
>
<!--
The Templates section can be used to define a common set of properties for
all referenced templates. This works like the inheritance of stylesheet properties,
but is not dynamic. Once defined, the properties of the parent template are copied
into the child, parents and child are not connected in any way after the creation
process is completed.
External template definitions are not yet supported.
-->
<!ELEMENT templates (template*)>
<!ATTLIST templates
external CDATA #IMPLIED
>
<!--
Defines a template. Templates are common use cases of the datasource interfaces.
They act as facade to hide the complex composition of datasources from the user.
Advanced users, who want to control every aspect of the data conversion within
the filter chain are free to use raw data source and data filters instead.
The templates define a set of properties for the use cases, these properties can
be defined using basic or compound objects.
A reference for the defined properties of the known template implementations of
JFreeReport can be found in the object-factory reference documents.
-->
<!ELEMENT template (basic-object|compound-object)*>
<!ATTLIST template
name CDATA #IMPLIED
references CDATA #REQUIRED
>
<!--
The report description defines the visual appearance of the report, the bands
and elemnts that make up the resulting output.
A report constists of several elements, which are all optional:
* reportheader
printed at the first page
* reportfooter
printed on the last page
* a page header
Printed before any content is printed to the page.
* a page footer
printed, after the last content for the page is printed
The pagefooter is always positionated at the bottom of a page,
regardless how much space of the page is filled.
* one or more group definitions in the "groups" element
If no groups are defined, a default group is created to contain
all data elements of the current report.
* the item band. This is where the data rows are printed.
If no item band is defined, only printing the items is disabled. All
calculations are performed regardless of the appearance of the
item elements.
All bands can contain either bands or elements.
Defining page break properties for inner bands or elements has no effect,
pagebreak-before and pagebreak-after are only used for root level bands.
Root level bands may not define either datasources or templates.
-->
<!ELEMENT report-description
(report-header?, report-footer?, page-header?, page-footer?, groups?, itemband?)>
<!--
The reportheader can contain any element or band.
The "ownpage" attribute of the simple report definition is defined as
"pagebreak_after_print" attribute.
-->
<!ELEMENT report-header (style?, default-style?, (band | element)*)>
<!ATTLIST report-header
name CDATA #IMPLIED
>
<!ELEMENT report-footer (style?, default-style?, (band | element)*)>
<!ATTLIST report-footer
name CDATA #IMPLIED
>
<!ELEMENT page-header (style?, default-style?, (band | element)*)>
<!ATTLIST page-header
name CDATA #IMPLIED
>
<!ELEMENT page-footer (style?, default-style?, (band | element)*)>
<!ATTLIST page-footer
name CDATA #IMPLIED
>
<!ELEMENT itemband (style?, default-style?, (band | element)*)>
<!ATTLIST itemband
name CDATA #IMPLIED
>
<!--
The tag encapsulates all groups. This tag helps to keep parsing
simple. If no groups are defined, a default group is created and
contains all elements of the report datarow
-->
<!ELEMENT groups (group*)>
<!--
Defines a group. The fields element is required, as it defines the
group fields and therefore the position of the group within the group list.
-->
<!ELEMENT group (fields, group-header?, group-footer?)>
<!ATTLIST group
name CDATA #REQUIRED
>
<!--
the name of the elements that have to change for
a group break.
A report group may have more than one group element.
A group element may only contain Strings defining the
names of the items which form a group. This is not
limited to items from the data model, you may also
enter functions here.
If you define a subgroup, then you'll have to include all
fields of the parent group and at least one new field.
-->
<!ELEMENT fields (field*)>
<!ELEMENT field (#PCDATA)>
<!--
A group header is printed before a group starts. A group start
is invoked when one element in groupelements changes and on the
start of the report generation.
If pagebreak is set to true, a page break will be forced before
the group header is printed.
If repeat is set to true, this header is repeated after an pagebreak
if this group is still active and no other groupheader in an subgroup
has the repeat flag set.
-->
<!ELEMENT group-header (style?, default-style?, (band | element)*)>
<!ATTLIST group-header
name CDATA #IMPLIED
>
<!ELEMENT group-footer (style?, default-style?, (band | element)*)>
<!ATTLIST group-footer
name CDATA #IMPLIED
>
<!ELEMENT band (style?, default-style?, (band | element)*)>
<!ATTLIST band
name CDATA #IMPLIED
>
<!--
Elements are defined and selected by their content type. To create
a text element, the required content type is "text/plain". ShapeElements
are created when specifying the content type of "shape/generic".
Be carefull when defining a relative width and height, unless the parent
band defines a maximum size, the element will try to consume as much space
as possible.
-->
<!ELEMENT element (style?, (template | datasource))>
<!ATTLIST element
name CDATA #IMPLIED
type CDATA #REQUIRED
>
<!--
The data source definition can be used to assign a datasource to the element.
If the datasource is a DataFilter implementation, then the datasource may contain
other datasources.
The datasource type is specified by the "type" attribute. The attribute must be
defined in the DataSourceFactory. There is no reference manual for that factory
yet.
-->
<!ELEMENT datasource (datasource?,(basic-object|compound-object)*)>
<!ATTLIST datasource
type CDATA #REQUIRED
>
<!--
Functions are defined in a function library.
Every referenced function has to be defined in the
library in order to be loaded and executed correctly.
-->
<!ELEMENT functions (function | expression | property-ref)*>
<!--
defines a collection of properties.
-->
<!ELEMENT properties (property*)>
<!--
A reference to a report property. This property is predefined here and can be accessed
like any other datasource. The value defaults to null if no more data is given. The
encoding parameter defaults to "text", "serialized-base64" is implemented later to
allow serialized objects as value for the property.
The class parameter specifies the class of this report property value. The given class
must have a valid ObjectDescription registered in the ClassFactory.
-->
<!ELEMENT property-ref (#PCDATA)>
<!ATTLIST property-ref
name CDATA #REQUIRED
encoding CDATA #IMPLIED
class CDATA #IMPLIED
>
<!--
A defined function has a valid implementing class that implement
the com.jrefinery.report.function.Function interface. Functions have access to the datarow and
can access other functions or expressions or the datasource. Functions are statefull and maintain
their state during the report generation. For stateless userdefined computations consider using
an expression instead of functions, as expression are cheaper to compute and maintain when using
huge reports.
Function parameters are given by propery elements. For visual
editing, function must obey to the java-beans rules (use get*/set*
methods, perhaps provide beaninfo and so on)
The deplevel attribute can be used to priorize the functions. Functions with an higher depencylevel
are executed before any function with lower depency levels. Depencylevels lower than 0 are not allowed.
-->
<!ELEMENT function (properties?)>
<!ATTLIST function
class CDATA #REQUIRED
name CDATA #REQUIRED
deplevel CDATA #IMPLIED
>
<!--
An expression is a stateless userdefined function. It can access the datarow and the reportproperties
to perform its task. Using the datarow an expression has access to the datasource and other functions
and expressions.
Expression parameters are given by propery elements. For visual
editing, Expressions must obey to the java-beans rules (use get*/set*
methods, perhaps provide beaninfo and so on)
The deplevel attribute can be used to priorize the functions. Functions with an higher depencylevel
are executed before any function with lower depency levels. Depencylevels lower than 0 are not allowed.
-->
<!ELEMENT expression (properties?)>
<!ATTLIST expression
class CDATA #REQUIRED
name CDATA #REQUIRED
deplevel CDATA #IMPLIED
>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -