DTD and XML Restrictions
DTDs allow data structures that do not correlate to relational database or Uniface data structures. Uniface provides no or limited support for such structures in DTDs and XML streams that are handled with xmlload and xmlsave.
Uniface provides limited support for:
- White space—The DTD Editor supports the use of tabs and spaces for DTDs, but all white space is replaced by a single space character when the DTD is edited in the DTD Wizard.
- Predefined XML entities—Only the following predefined entities are supported:
Predefined entity | Replacement text |
---|---|
>
|
> |
<
|
< |
&
|
& |
'
|
’ |
"
|
" |
Uniface declarative XML handling does not support the following:
- Comments—Uniface does not generate comments in
XML streams. If comments are encountered in an XML stream, the comments are ignored by
xmlload
. Place comments about the DTD in the Comments field in the Define DTD Properties form. - XML entities—With the exception of the Predefined entities specified in the XML standard, XML entities and parameter entities (used exclusively in DTDs) are not supported.
- Hard return characters in white space
- Processing instructions—Processing instructions
are not generated by Uniface, and are not processed. If they are encountered in an XML stream, they
are ignored by
xmlload
. - Multiple use of element names—The XML standard
allows an element to be declared once and to be used in several elements. For example, a
paragraph
element could be defined and used as part of the content ofchapter
andpreface
elements. This is not supported by Uniface. An element can only be used within the content of a single parent. The names of child elements must be unique within the DTD. - Document subdeclaration—An extension to the DTD that is stored in the XML document itself, a document subdeclaration is generally used to store definitions of XML entities. Document subdeclarations are not used by Uniface, and are ignored during processing of XML streams.