Solved

XML and DTD

Posted on 2013-12-10
1
407 Views
Last Modified: 2013-12-17
I need to work on a proj that uses XSD's.  I am ok with xslt and xsd's but never used an XSD.

I am trying to use http://validator.w3.org/ to validate.  I am guessing I need to open the XML file in the validator.  I receive the below error.

The following notes and warnings highlight missing or conflicting information which caused the validator to perform some guesswork prior to validation, or other things affecting the output below. If the guess or fallback is incorrect, it could make validation results entirely incoherent. It is highly recommended to check these potential issues, and, if necessary, fix them and re-validate the document.

    Warning Missing "charset" attribute for "text/xml" document.

    The HTTP Content-Type header (text/xml) sent by your web browser (Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0) did not contain a "charset" parameter, but the Content-Type was one of the XML text/* sub-types.

    The relevant specification (RFC 3023) specifies a strong default of "us-ascii" for such documents so we will use this value regardless of any encoding you may have indicated elsewhere.

    If you would like to use a different encoding, you should arrange to have your browser send this new encoding information.


Below is dummy data.

<!ELEMENT employee (name, address, region)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT address (#PCDATA)>
<!ELEMENT region (#PCDATA)>
<!ATTLIST region language CDATA #REQUIRED>

Open in new window


<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE employee SYSTEM "emp.dtd"> 
<employee>
  <name>Mr. Bill</name>
  <address>123 Main Street</address>
  <region language="English">Yes</region>
  <region language="Spanish">Si</region>
</employee>

Open in new window


Thanks
0
Comment
Question by:CipherIS
1 Comment
 
LVL 60

Accepted Solution

by:
Geert Bormans earned 500 total points
ID: 39710203
Some comments

- there is an error in your XML that makes the validation fail. You have two region elements. So you would better add a "+" for region in your DTD, like
<!ELEMENT employee (name, address, region+)>

- I would not use an online validator for DTD development, they are slow, and use old validators. I would definitely work from an XML IDE, such as www.oxygenxml.com

- http://validator.w3.org/ has a hard time finding your SYSTEM declaration for the DTD in a local place. In order for it to work you could put the DTD on a server and reference through its URL, like
<!DOCTYPE employee SYSTEM "http://mydomain.be/emp.dtd">
0

Featured Post

Secure Your Active Directory - April 20, 2017

Active Directory plays a critical role in your company’s IT infrastructure and keeping it secure in today’s hacker-infested world is a must.
Microsoft published 300+ pages of guidance, but who has the time, money, and resources to implement? Register now to find an easier way.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

The Client Need Led Us to RSS I recently had an investment company ask me how they might notify their constituents about their newsworthy publications.  Probably you would think "Facebook" or "Twitter" but this is an interesting client.  Their cons…
Browsing the questions asked to the Experts of this forum, you will be amazed to see how many times people are headaching about monster regular expressions (regex) to select that specific part of some HTML or XML file they want to extract. The examp…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

749 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question