LISTSERV mailing list manager LISTSERV 15.5

Help for XML-L Archives

XML-L Archives

XML-L Archives


Next Message | Previous Message
Next in Topic | Previous in Topic
Next by Same Author | Previous by Same Author
Chronologically | Most Recent First
Proportional Font | Monospaced Font


Join or Leave XML-L
Reply | Post New Message
Search Archives

Subject: Re: 5 questions
From: Ronald Bourret <[log in to unmask]>
Reply-To:General discussion of Extensible Markup Language <[log in to unmask]>
Date:Mon, 30 Nov 1998 10:24:03 +0100

text/plain (150 lines)

John E. Simpson wrote:
> > Ronald Bourret wrote:
> >
> >(As a nitpicky aside, referencing the BTW entity in the value attribute
> >value as John does would cause a validation error: an ENTITY attribute's
> >value must match the Nmtoken production, which "By the way" does not.
> >even if the entity's value had no spaces (e.g. Bytheway), there would
> >be a validity error because no unparsed entity was declared.)
> Re: the "nitpicky" but well-taken aside, in the portion of the annotated
> spec that I referenced (follow the Notes link in the bottom right-hand
> frame, then the link to Entity References in Attribute Values), Tim uses
> this example:
>         <x href='&spec;id(sec-starttags)'>
> The &spec; entity is defined as a URI. URIs may but commonly don't match
> the Nmtokens production either, right?

URIs commonly don't match Nmtoken/Nmtokens because slash (/) is not
allowed.  However, that doesn't matter in this case.  An attribute value
needs to match Nmtoken/Nmtokens only if its type is (NMTOKEN, ENTITY,
enumeration) / (NMTOKENS / ENTITIES), so although we don't know the type of
the attribute above, it's a good bet that it's a CDATA attribute.  (That's
why the aside was nitpicky.  You stated that you could reference a general
entity in an attribute value.  I agreed, but then went on to be nitpicky
and pointed out that, because the attribute type was ENTITY (a red herring
wrt your point) you would get a validation error.)

> The Big Entity Processing Table in the spec (in the section 4.4 that you
> referenced) apparently makes a distinction between an entity reference
> occurring as the entire value of an attribute ("[Entity] Occurs as
> Attribute Value"), vs. as a piece of the value ("[Entity] Reference in
> Attribute Value") -- am I reading this right? Internal general entities
> indeed forbidden in the former case, but "included in literal" in the
> latter. Why would such a distinction be important? (Not arguing a point,
> just wondering about it.)

You are reading it correctly.  Here is an example of an entity occurring
*as* an attribute value:

   <!-- foo is an unparsed entity matching the bar notation -->
   <!ENTITY foo SYSTEM "http://foo" NDATA bar >
   <!-- The value of MyAttr is the entity "foo" -->
   <MyElement MyAttr="foo">

Here is an example of an entity occurring *in* an attribute value:

   <!-- foo is a parsed general entity -->
   <!ENTITY foo "bar">\
   <!-- The value of MyAttr is "bar" -->
   <MyElement MyAttr="&foo;">

In the first case, the value of the attribute is the unparsed entity foo;
the processor must pass the name of this entity, along with the system and
public (if any) ids and the notation information, to the application.  In
the second case, the entity is dereferenced and its value becomes part of
the attribute value.  ("Included in literal" refers to the resulting
literal formed when one entity is used in the definition of another in the
DTD.  See the first example in 4.4.5 and remember that "&YN;" is a typo and
should be "%YN;".)

It's probably worth your time to spend a leisurely afternoon or two with
sections 4.4 and 4.5 and work it all out yourself.  All the information is
there, and the table sums it up nicely, but it takes a day or so to go
through all the possibilities and really understand it.

-- Ron Bourret

begin 600 WINMAIL.DAT
M>)\^(@0)`0:0" `$```````!``$``0>0!@`(````Y 0```````#H``$(@ <`
M& ```$E032Y-:6-R;W-O9G0@36%I;"Y.;W1E`#$(`0V ! `"`````@`"``$$
MD 8`9 $```$````,`````P``, (````+``\.``````(!_P\!````9P``````
M+DA%04Y%5"Y)10``'@`", $````%````4TU44 `````>``,P`0```!D```!8
M34PM3$!,25-44T525BY(14%.150N244``````P`5# $````#`/X/!@```!X`
M`3 !````,P```"='96YE<F%L(&1I<V-U<W-I;VX@;V8@17AT96YS:6)L92!-
M87)K=7 @3&%N9W5A9V4G```"`0LP`0```!X```!33510.EA-3"U,0$Q)4U13
M15)6+DA%04Y%5"Y)10````,``#D`````"P! .@$````"`?8/`0````0`````
M```"MD@!!( !`! ```!213H@-2!Q=65S=&EO;G,`,04!!8 #``X```#.!PL`
M'@`*`!@``P`!`"0!`2" `P`.````S@<+`!X`"0`S``P``0!'`0$)@ $`(0``
M`#@Y0S@U-T5$,S X.$0R,3%"039$,# T,#DU,#-$,#0S`/D&`0.0!@`8"@``
M% ````L`(P```````P`F```````+`"D```````,`+@```````P`V``````!
M`#D`T#>%*T,<O@$>`' ``0```! ```!213H@-2!Q=65S=&EO;G,``@%Q``$`
M```6`````;X<0RN#[5?(BH@P$=*Z;0! E0/00P``'@`># $````%````4TU4
M4 `````>`!\,`0```!T```!R8F]U<G)E=$!I=&\N='4M9&%R;7-T861T+F1E
M``(!"1 !````B@@``(8(``!$$@``3%I&=>7!$-W_``H!#P(5`J0#Y 7K`H,`
M4!,#5 (`8V@*P'-E=.XR!@`&PP*#,@/&!Q,"@\8S`\4"`'!R<1(@$X@B- ]Z
M:&5L`R!$;,IG`H,U$P]F-A0\!K#0<W1E;0* ?0J ",\?"=D"@ J!#;$+8&YG
M,3PP,Q0@"PH4(@'0($ID;V@#H$4N!@`'<'"R<P(@('<[log in to unmask]@J/MPN1$O(=
M\3XA(0@`;@= ^&0@0@AA&M %0!\K(3%)(L@H000@82 #`'3@<&EC:WDD, "0
M#;"T+" :T&8$D GP8PN &&<@=!: (=!45R"]"?!T)' DT N )A-V!T#/"E D
M, ) !1!B=1F@(LBG)X4$(!XC9&\'D7<(8/$AL6-A=1'P)#$G@240G2?@:1[Q
M!) #8'(Z)#!!'E%.5$E462?8)[IS*'YM*L %0 # =!&P02833FUT;VL)\" S
M%, $<'5C*X(E0'=H,R2@+R B0B30)B)W871Y(BGD;A] 'H 3<&[R9"+(978O
MT0:0)A,FI)\M<"=U$< AP#) (',?L,)C!Y$H92YG'H Q,/LF(3&A*25 )B$:
MT"HU&9!U`Q!L(LAB*N<FTBO3(.<XP"JD-6%U;A^Q$? AP#\FI3&@!" %@0M@
M&M$N*?\?CQV((3 \GSVJ($P^@!\R[S!0!_ ?8"83(B1F,= H,7L?$!:1+0&0
M+\(D]2<5</L:<2N2;S/4`' R02?@"8#_/F<_3T!?06(UD 60)A$GX&P@2257
M.Q$H`A 6H&^?!^ O0Q]!!" K0&YK)P8/!N "0 -P)5!I9VAT?BT1P#*W1I]'
MKT%$`U!A_P> -O,G)$NC+Z >8":T0:"72?4$("<102?V(%8GDOYS-N$'83J@
M$? MADWO3O_O040F( 0`)I!X4( +4!]I?U5_5H]!8EBO6;] VUYV/$9X-1 E
M83TG)DD2.^4E$"@1\&,M&9 *P ) ]&%G5" G(U9<#UT?6S_W8=]B[P5 5"8Q
M7Y0FESO2'F8+@#L1*7$D0%5227\>@&DA!" `P"300M(%H&V9!&!N;"30*?!N
M)R[%_V0?92]7#2]G!" P"":0)'#W-R$E04SB/VN/'=,^96ESMVI/+P(OA2]N
MMSH&<PM@XG,O("@O*6@2,D$D,/=*LCQ1,H!(=Q$S@'!!26/_*?)J]1F@!< G
M$U?Q*J 1\/\R<R?8)W5HD F !"!1L7/OWV[D:H,SP21P>[%Y22!H$L H3DU4
M3TLL<"5 ]RQT)4 )\'4'@%!P*X)V4!XO?J<%\("@+'-)15/_-N$>X';1)B (
M*F))UX8B_PGP@!$#(":H`Y%Z?3)Q2;#[8, )T60E0$+24--#$ (P_WUA4:(X
MP21H,K!$D0N BX+_"&"&Q)!A.A6$G'XS.[(L=?XH)$ :T340*]$EXA\@B_/_
M!<"2PW90C!(J1(UP=L$K'V\\=R+';0]FJ$),X%'64.\#8#7!`) E\50!H%AP
M)P8=21,HGL9!82N2-"XT/XNW<-]LGT#;2=AV4&%P_SZ1)J%JH0# +\ D(CE0
M-]'_)< K@X:A0Q!#DBNQ)K1)U^^A3Z)?0-N=T&,B`27B*7$?,_8W02>$12&.
MFR@B6_%1Y%T@3ZN2)"%4WZF?RT#,4STB-N%V<QZ :-/_)) %D(1')X2N:5)7
M)P&OK\>PO['/LML@+2TD,$RP_TFR-3 EY%?Q<'1)H)+Q!*#_C<&->PB0)"$:
MT+;_N ] V\\+@ VP.Q$"$')B)1 -L+\SH2<DP?& `7G#D&0BIF'_"D -L"'
M)Q$K0'D1!T QT'\G%+Z?OZ] VPM@>0(>@%?_B5$W=3! +R"F#B<`'L :<8\`
M<+R1?K!VLG)G=:OCW9*T+,7?QN] VVHNHBI _\&1J]0&X$+A)' \>7%O"L'_
M65,X5$5-,1!-`"2 .B_V+]O1,=!.A[/>0M\YVK_S9O.M!TUY4S)H$C/X,1#W
M?=\?S> G(MY!Z1!<7.ZOX[^OY,_S\^;?Y^XFV]$[Z1[_O,#"M*S +K'#="=(
MA&_EI?\ZOOH21%2=Q 6Q+I,^D 01_R8B(9 '@$445_(FLR5 !T"_#M"7$7 !
M)6-[L_\F(AK0R>""<"7BQ.7"]"' _S# +]$>\ IZ*L'$DR8B:%,_O@%$],N@
M'T W(2<&1%3Z1#)Q4QM ^WGJQB<1H('<+C62<QK0`=!M.,#N@/-)8_GP64[Z
M0/"4?C&"0<^2D78`*E,XP2(E&G*:/OY)A?(P`>)0GH#)8D3 +R#_EW,FP '1
M4;%)$9*1)$!8<._*8"(`0R DT6:\XO/ 10'_&>$J0 -4H 6'8*""DH(8]C\>
[log in to unmask],Y=R*M!L9O\R<B11%J(&^>65D" "X07U-V"PGH+)X&U2X9CP=7#_
M0W;AYF!_.K#0L6!A#!/O9CYENP%2K0;!0I>!D"!T/F5]/F "`#$P```#`! 0
M``````,`$1 `````0 `', "M-)4^'+X!0 `(, "M-)4^'+X!'@`]``$````%
5````4D4Z( `````#``TT_3<``&:Z

Back to: Top of Message | Previous Page | Main XML-L Page



CataList Email List Search Powered by the LISTSERV Email List Manager