DTD: Choice: Non-Alphanumeric

S

Shozi

Dear All,

My project is basically about the personal record keeping of user's
data. Now user can customize their data entry form by adding/removing
the desired fields for personal information (e.g. Add: Home Phone Pin
Code, Remove: Personal ID Card No). All this was being done in
database and was working fine.

Some one recommend me to use DTD/XML to automate this whole process in
a standardized way. I started off while searching on the web and on
different forums and found some good examples. But at one point, I am
stuck at creating chioce in DTD?

Let's assume that I have three choices for some attribute. I define
them as under in my output DTD file,

---------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>

<!ELEMENT choice_testing (#PCDATA)>
<!ATTLIST choice_testing value (True | False | Unknown ) "Unknown" >
---------------------------------------------

Every thing seems to be fine except one thing, if I enter any
non-Alphanumeric character in the value of this choice.

e.g. ( <!ATTLIST email_address_domain value (@yahoo.com | @hotmail.com
| Unknown ) "@yahoo.com" > ).

After this, the parser gave me a parsing error. I have checked the
validity of DTD file with XML Spy 4.3 and its validator won't let me
pass through and gave me an error message that "Wild card character
found, cannot proceed". As this is some basic funcationlity of the
project. Any Comments / suggestion / help ?

Thanks in Advance

Waiting for your reply,

Best Regards,
Shozi
 
B

Bob Foster

Shozi said:
Let's assume that I have three choices for some attribute. I define
them as under in my output DTD file,

---------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>

<!ELEMENT choice_testing (#PCDATA)>
<!ATTLIST choice_testing value (True | False | Unknown ) "Unknown" >
---------------------------------------------

Every thing seems to be fine except one thing, if I enter any
non-Alphanumeric character in the value of this choice.

e.g. ( <!ATTLIST email_address_domain value (@yahoo.com | @hotmail.com
| Unknown ) "@yahoo.com" > ).

After this, the parser gave me a parsing error. I have checked the
validity of DTD file with XML Spy 4.3 and its validator won't let me
pass through and gave me an error message that "Wild card character
found, cannot proceed". As this is some basic funcationlity of the
project. Any Comments / suggestion / help ?

A DTD attribute enumeration value must be an NMTokens, one or more NameChar.
This can be letters, digits, etc. but not '@'.

If this is essential to your application, switch to XML Schema or RELAX NG,
where you can use any simple type value. If you already have a lot of time
invested in your DTD, download trang and use it to convert your DTD to one
of the other schema types.

Bob Foster
 
S

Shozi

Dear Bob,

Thank you very much for your reply, I am very thankful for the answer.
I already have implemented a logic. I just add Text variables and do
the work. By adding variables in the choice and assign values of email
domains to that variable. That solution is working fine.

I am unable to invest more time in changing my logic to xml schema.

Thank you once again.

Best Regards,

Shozi
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,768
Messages
2,569,574
Members
45,050
Latest member
AngelS122

Latest Threads

Top