ad 1)
yes, the XML grammar is
specified in EBNF (extended backus naur form) in the original XML 1.0
specification (http://www.w3.org/TR/1998/REC-xml-19980210#sec-notation),
but the individual lines of the EBNF are scattered through the specs. For a more
condensed version, please download our XML editor XML Spy (http://www.xmlspy.com) which uses an external
EBNF file to drive its parser, so you can simply take the file "gra_xml.txt" as
a starting point after installing our software.
ad 2)
XML is defined as a Unicode
compliant document, so the XML "keywords" (or more correctly: element names) can
come from almost any other character set. If you are interested, I have
collected numerous international XML example documents that contain korean,
japanes, russian, thai, etc. element names.
ad 3)
two different
answers:
a) if your document does not
refer to a DOCTYPE (either internally or to an external DTD file) and it is
well-formed, then it is also considered valid
b) if you include a DOCTYPE
that defines only <!ENTITY ...> rules, but not <!ELEMENT ...>
constrains, then your document will also be not imposing any restrictions and be
valid
ad 4)
no, a document can only refer
to one external DTD file. However, an external DTD can then include several
other "partial" DTD files, so you can easily separate your document type into
smaller chunks and put them together individually for each XML file depending on
the particular needs. The key is to use "external entities" in the DTD that are
then resolved by including an external file.
ad 5)
yes, you can also define
DOCTYPEs that declare elements recursively. This is OK and is in fact also used
in many popular DTDs (e.g. XHTML 1.0)
Sincerely,
Alexander
Falk
... Icon Informations-Systeme GmbH ... makers of the
XML Spy editor (http://www.xmlspy.com) ...
ALEXANDER FALK ... President, CEO ... http://www.icon.at/falk
We
had the following questions that came up during our internal discussions.
Would appreciate anyone taking time for an answer to Q1 through Q4.
Thanks
vp
The
following XML is well-formed according to XML Spy 2.5 an XML editor. So I
guess, the answer to question number 5 is yes.
<?xml version="1.0" encoding="UTF-8"?>
< test>
<test>
<test>This is a
test</test>
</test>
</ test>
Here are the list of questions which came up during XML
discussion. If you find an answer to any of these,
please do share it with the techspace
community.
1. Can XML grammar be represented in Backus Naur format (
BNF ) .
2. Should XML keywords be always represented in a specific
ASCII format or can you use different character set .
3. How to define a NULL DTD. ie a DTD which specifies no
constraints. This questions came up because a DTD
is required for a document to be valid. So can we define a
NULL DTD which will effectively treat all well formed XML
documents
as valid documents.
4.Is there a way of declaring multiple external dtd's in
the document type declaration ?
5. Can a child element have same name as the parent
element ?
Jai XML
!!
|