hello Karl, Dan and Jbone
In response to Karl's question, are DTD's written in XML?
The answer is that *part* of the formal definition can be written in XML.
Other parts like semantics of elements and attributes or specific
application conventions cannot be expressed formally in XML/SGML and are
written in their own special syntax.
What Mr DuCharme means when he says converting DTDs to XML is that DTD's
are special files that state the rules for production of the XML
*Documents*. The XML parser uses the DTD to generate the XML document as
per rules specified in the DTD. For example, usually there are XML element
declarations in the DTD like <!ELEMENT name> This XML Declaration in the
DTD tells the parser that all xml documents it parses of this document type
can have the element NAME in it.
The DTD (Document Type Definition) is a specifier of a class of XML
Documents.
I hope that makes it clearer.
I am discussing one of the possible uses of XML in another thread "Philo
sphizing/Imbedding and Extending Rebol". Perhaps some of you would like to
contribute?
About jbone's question: you wrote
>The ability to
> "dialect" the data language via DTDs and the separation of structure
> definition from data representation ...
REBOL provides a convenient way of defining values. It think it would be
easy to create, for instance an ELEMENT declaration in REBOL that
evaluated to a tagged text like <Fname= "Walt" lname= "Disney">
Off the top of my head ELEMENT would have to be a function like
ELEMENT: func [a b][return rejoin ["<NAME=" a " " "LNAME= " b ">"]]
(this is by no means a great way to build a DTD but .. :) would make way
for documents that had ELEMENT Walt Disney markups in them. When executed
they will produce
== "<NAME=Walt LNAME= Disney>"
A collection of such ELEMENT declarations would provide the "separation of
structure definition from data representation" you are seeking.
However, XML/SGML is a very powerful and widely accepted open standard. I
think it would be interesting to look at ways in which REBOL and XML could
complement each other..
Regards,
Nitish
[EMAIL PROTECTED]
http://www.loka.net/
-----Original Message-----
From: [EMAIL PROTECTED] [SMTP:[EMAIL PROTECTED]]
Sent: Wednesday, 16 February 2000 10:32
To: [EMAIL PROTECTED]
Subject: [REBOL] Re: XML-RPC
Thank you for your comments about XML, Dan and jbone.
On Sun, 13 Feb 2000, [EMAIL PROTECTED] wrote:
> I've had something very similar to this discussion with someone else
> regarding Newtonscript-like frames vs. XML. Both are tree-structured
data
> formats. The real key difference, and the reason XML "wins," is that
(while
> more verbose) XML is much more of a "metadata structure." The ability to
> "dialect" the data language via DTDs and the separation of structure
> definition from data representation make it much more flexible. The cost
is
> some increase in complexity and size of data, but this is more than
> compensated by increased utility. A pure-block Rebol implementation,
even if
> dealing with all-Rebol componentry, still suffers from the same
deficiencies
> -wrt- XML as, say, Newstonscript frames.
I don't understand how XML is more a metadata structure than REBOL. There
is
no reason you can't define certain REBOL dialects as representing data and
requiring an associated REBOL Type Definition.
I found this in the current XML FAQ (dated 1 June 1999):
> C.11 I keep hearing about alternatives to DTDs. What's a schema?
>
> Bob DuCharme writes: `Many XML developers are dissatisfied with the
syntax of
> the markup declarations described in the XML spec for two reasons. First,
they
> feel that if XML documents are so good at describing structured
information,
> then the description of a document type's structure (its `schema') should
be
> in an XML document instead of written with its own special syntax. In
addition
> to being more consistent, this would make it easier to edit and
manipulate the
> schema with regular document manipulation tools.'
The quote of Mr. DuCharme follows this seemingly contradictory DTD
definition:
"A DTD is a file (or several files to be used together), written in XML,
which
contains a formal definition of a particular type of document." But then
it
talks about converting DTDs to XML!
Are DTDs written in XML?
-Karl Robillard
begin 600 WINMAIL.DAT
M>)\^(@D``0:0" `$```````!``$``0>0!@`(````Y 0```````#H``$(@ <`
M& ```$E032Y-:6-R;W-O9G0@36%I;"Y.;W1E`#$(`0V ! `"`````@`"``$$
MD 8`= $```$````0`````P``, (````+``\.``````(!_P\!````.P``````
M``"!*Q^DOJ,0&9UN`-T!#U0"`````&QI<W1 <F5B;VPN8V]M`%--5% `;&ES
M=$!R96)O;"YC;VT``!X``C !````!0```%--5% `````'@`#, $````/````
M;&ES=$!R96)O;"YC;VT```,`%0P!`````P#^#P8````>``$P`0```!$````G
M;&ES=$!R96)O;"YC;VTG``````(!"S !````% ```%--5% Z3$E35$!214)/
M3"Y#3TT``P``.0`````+`$ Z`0```!X`]E\!````#P```&QI<W1 <F5B;VPN
M8V]M```"`?=?`0```#L`````````@2L?I+ZC$!F=;@#=`0]4`@````!L:7-T
M0')E8F]L+F-O;0!33510`&QI<W1 <F5B;VPN8V]M```#`/U?`0````,`_U\`
M`````@'V#P$````$`````````IE&`02 `0`8````4D4Z(%M214)/3%T@4F4Z
M(%A-3"U24$,`408!!8 #``X```#0!P(`$ `-`"P``0`#`"8!`2" `P`.````
MT <"`! `#0`I`"L``P!-`0$)@ $`(0```$0W0S,Y1#DU,# W139%-$5!135%
M1C-$-$5%13-&0T5"`*\'`0.0!@"L#@``(0````L``@`!````"P`C```````#
M`"8```````L`*0```````P`N```````#`#8``````$ `.0#@4R?K%GB_`1X`
M< `!````& ```%)%.B!;4D5"3TQ=(%)E.B!834PM4E!#``(!<0`!````%@``
M``&_>!;JAQBP$NYFGT%$G6@0@<',M/$``!X`'@P!````!0```%--5% `````
M'@`?# $````/````<F5B;VQ ;&]K82YN970```,`!A <?0XL`P`'$)(-```>
M``@0`0```&4```!(14Q,3TM!4DPL1$%.04Y$2D)/3D5)3E)%4U!/3E-%5$]+
M05),4U%515-424].+$%214141%-74DE45$5.24Y834P_5$A%04Y35T5225-4
M2$%4*E!!4E0J3T942$5&3U)-04Q$``````(!"1 !````EPL``),+``"!% ``
M3%I&=<_;F#4#``H`<F-P9S$R-48R`/@+8&[email protected]!]R "I /C`@!C: K
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
M32J1?V@1MA,:1K4DLT,+,;4F:1 M,30T8_%I,3A>, % #-"[EMAIL PROTECTED],
M@V(18&L#8&6!0>%D-D!3L > +JG!@H!33?A44#J[WP-PA=:%< 9@6P(PNT=7
M"8 :('-G<'G[&5 8X49<P#9P"L K8 '08[I P+ P.C,.4+[&5.YONT<DT!R@
M0*WSO,*^N%AU8FIFX;M'6W #78=<H6) 'F$M4E!#M[__N,ICO[,)'W `<'/
M7C(VTO]>,07 J<$F)6#C'F$96&%#GZLO?2$#H,30'.$Q,\#BI\%S&5!A0T!J
M.+!PKI+G8I2[0&8E22=+<8R"7;+OI1)RL:'R`)!M`Q *P1O1_TGD5H4B<0/P
M(%!=HU<B%_#_$3!F%@EPK'(R@@?!&] `@+T%`RTDTP-01#$$('92H7DCPR!"
M67$=`R;@"> M_VI'&=!G<F86(8-2DCDS6?'_`R D\"M@5G !($!Q=E$<\7]H
M]5GQ7; >0UHP`_ `@"S[9Q @)BBH(28`9A8$8!TAWS)!!N 1,$_@,T5ME8+A
M0[U1`R+2T5H09X)J1RYG$/\Y,V5_9H]GGVBOF;_65YKO_YO_`Z"*PTD1XI@.
M\"I06!+_W'4%H!R@(!'EUEVS"X!U0G\;H1XQJ<3NH.6!&;(`D'K_5T/G,AE0
MB:*&MN%#(%$+D/_EY:G""? QP'E"AS'PIAG0KR<@Y5/9@91P<&JA+0)@_SB0
M<\!<LQX@J>8HDQE0H)']'A%FZI@'0#*"U5,K,<; __@3J<(:$5]QP)$<H4@!
M/^#_W9(VL>O2Z.-$,2'C)]#=T?L(D._'+1VPV# S,SS0_''_P(('P1R@U\;8
ME<W?4W(\0/QN)P5 @(#^4!$@I&)3H?\'X.(FX5)00..?]"1O]-QT_QTA[[:'
M8=ZU7C(BH0.!(?/_2O$R40MQ;_7F98?1A]!M9_\R@N<S&;&MEAQP+:!;E#S!
M_UVP+D%Y0G $3OU578M0`[%W\V4^5#B@<MW!S),^\$'N44Y YS$JP3$9X("
M&[ T,3D4,"G1E>760R[^,1.P:X!3D"3PZ3!^4@VT_V#C>Y'],$0@'+ I(#+S
M,L*_CO(@<#0R)1"5D"4Q/^75?^76V;"%<#!7';(VH,9P8/Y-'[!TT#P#H)%:
M@#T!-$3_5G'U8<-P/?/ZT^CC+J,A`?_EUB%"C@1!K'"Q`4%;43XV=S-")Z(V
MPW1><-ZE4J%&_RV@8?#,X(_RVX>=P**@,[/_^; [^S1%.Q&G,"QA09(A8_\R
M@MJ9MJ#<!/D2'TD^5"%$OP%P-X500$H[89&:2"CQT/6'T& 9%"=/X*UP="7E
MUO]9(SO\=@):`E=A&T)<,=5$_RVRH'"D,32U'K1S,<TA6W'_^0(?1X "UT+N
M(U]16 `P\?\,("1"1*&*:4D1=*%0PG_Q_UM@21&HXNU0<H#W4.> .Y3_[]<9
M(]5$UN$Y48MX./CK@O=_\)2@4J G31YAP-%A5U+^355 &JB+4$:PH'",$D2A
M_YVQT\#GH*-!7U-:$*A ?_#OP5%.$NL8T94BE'!.$J&3^^LP6#$HBV'AX*"A
MW0%$,K\7TZ8!6&%Y8N?@68(IS.#_,8:#H<RSJ"-OE%]2"E%#\_\I4J*@ZQE1
M`^E!^0!20-/C[T\"<A)2->2R0O-#^8*NQ?F_H&QKS#9Q(TKQUU'H4_M_\:#Q
M(6 ;!3'H4T<,&76S;Y5OE"U+T_"BH%*]EA5OE'UK$ !5```#`! 0``````,`
M$1 ``````P" $/____] ``<PP']DF!9XOP% ``@PP']DF!9XOP$+``" "" &
M``````# ````````1@`````#A0````````,``H (( 8``````, ```````!&
M`````!"%`````````P`%@ @@!@``````P ```````$8`````4H4``+<-```#
M``F "" &``````# ````````1@`````!A0```````!X`%8 (( 8``````, `
M``````!&`````%2%```!````! ```#@N, `+`!F "" &``````# ````````
M1@`````.A0````````,`&H (( 8``````, ```````!&`````!&%````````
M`P`<@ @@!@``````P ```````$8`````&(4````````>`"N "" &``````#
M````````1@`````VA0```0````$`````````'@`L@ @@!@``````P ``````
M`$8`````-X4```$````!`````````!X`+8 (( 8``````, ```````!&````
M`#B%```!`````0`````````>`#T``0````4```!213H@``````,`#33]-P``
"ZO2%
`
end