------=_NextPart_000_004E_01BDA37A.185D57B0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hello All,
                I am in the process of BETTERING  an XML-DTD I made.
                In the process of making it compact, I decided to =
encapsulate all the repeated(in the DTD) attribute definations of =
elements in parameter entities, and use para. entity refrences in places =
where the attr. defs. are repeated.
                But, all the repeated attributes I want to add to my =
parameter entity  have  #FIXED and DIFFERENT values at all the places =
they are repeated at,  as a result of which I am not being able to add =
them to the para. entity replacement text even though they are repeated.
                Let me explain  my problem with an example.
                I have the following 2 element declarations :-
                <!ELEMENT ele1 (#PCDATA)>
                <!ATTLIST ele1=20
                                            common-attr CDATA #FIXED =
"common-attr-value1">
                <!ELEMENT ele2 (#PCDATA)>
                <!ATTLIST ele2=20
                                            common-attr CDATA #FIXED =
"common-attr-value2">
                   Since both the elements have AN ALMOST SIMILAR =
attribute 'common-att' (except the #FIXED values) I want to encapsulate =
the common-attr attribute defination in a parameter entity and refrence =
the para. entity at points where I want to add the common-attr =
defination, so that my DTD would loook like :-
               < !ENTITY %attr-def  'common-attr CDATA #FIXED =
".................." '>                 =20
                                                                         =
                                       |
                                                                         =
                                       |
                                                                         =
                                      \ /
                                                                         =
                                What to write here      =20
                <!ELEMENT ele1 (#PCDATA)>
                <!ATTLIST %attr-def; >
=20
                <!ELEMENT ele2 (#PCDATA)>
                <!ATTLIST ele2 %attr-def;>
But the problem of using a parameter refrence here is that the attribute =
'common-attr'  has different  #FIXED values at both the places it is =
used so a simple refrence like %attr-def; will not give it the required =
#FIXED values it requires.
Concerning this issue I have 3 questions :-
1.  Whether encapsulating the attribute common-attr in a para. refrence =
is proper or not even though the attribute is NOT exactly similar in =
both places it is used?
(I feel it is correct,since the attribute definations at both the places =
differ only in their VALUE , nothing else!)
2. Is there way to pass #FIXED values of SAME parameter definations =
through their entity refrences(something like parameter passing)? eg.=20
                <!ELEMENT ele1 (#PCDATA)>
                <!ATTLIST  ele1 %attr-def(/*-------pass fixed value =
here--------*/); >
=20
                <!ELEMENT ele2 (#PCDATA)>
                <!ATTLIST ele2 %attr-def(/*-------pass fixed value =
here--------*/);>
3. Is there any way I can add attributes like 'common-attr'(used in the =
eg. above) to a para. entity and only call its refrence in places it is =
needed in the DTD making sure that at each calling place a unique #FIXED =
value is passed?
                    Thanx in advance,
                                                                         =
                                               AMIT REKHI
                                                                         =
                                      Software Engineer,
                                                                         =
                                       A.B.Infosys.P.Ltd,
                                                                         =
                                       New Delhi=20
                                                                         =
                                       INDIA.
=20
------=_NextPart_000_004E_01BDA37A.185D57B0
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 HTML//EN">