473,652 Members | 3,045 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

validating xml defined by DTD - ignore node sequence

I want to bypass the dtd validation that child elements must appear in
a certain order ...

In a DTD child elements that are defined and seperated by commas they
must appear in the same sequence in an xml file in order for the xml to
be valid ...

eg if the dtd defines an element Parent with two child nodes
<!ELEMENT Parent (a, b)>

Then the following xml is valid

<Parent>
<a>data</a>
<b>data</b>
</Parent>

but the following xml

<Parent>
<b>data</b>
<a>data</a>
</Parent>

is invalid ...
Does anyone know of any ways to get around this issue ??? I have
developed an application that generates xml but the child nodes aren't
created in the same order as specified in the dtd and I want to
validate the xml document ...

I am currently using the XMLReader class to try to validate the xml
..Net framework 2.0

XmlReaderSettin gs settings = new XmlReaderSettin gs();
settings.Prohib itDtd = false;
settings.Valida tionType = ValidationType. DTD;
settings.Valida tionEventHandle r += new
ValidationEvent Handler(Validat ionCallBack);
settings.CheckC haracters = false;
settings.DtdVal idate = true;
settings.Ignore ValidationWarni ngs = true;

XmlReader reader = XmlReader.Creat e(_filename, settings);

while (reader.Read()) ;

Many Thanks

Nov 12 '05 #1
3 2814


ai********@gmai l.com wrote:

I have
developed an application that generates xml but the child nodes aren't
created in the same order as specified in the dtd and I want to
validate the xml document ...


A DTD defines a grammar for a class of XML documents and validation is
supposed to check that an XML document instance complies with the DTD.
What would be the point of validation if the validator would claim the
document is valid but anyone wanting to make some exceptions could do that?
You would need a different DTD or a schema tailored to your needs and
then you could validate against your schema.

--

Martin Honnen --- MVP XML
http://JavaScript.FAQTs.com/
Nov 12 '05 #2
Thanks Martin for your remarks but the main question is still without
an answer. Is it possible to do this?

best regards

Gawel

Nov 12 '05 #3


pa**********@gm ail.com wrote:
Thanks Martin for your remarks but the main question is still without
an answer. Is it possible to do this?


The answer was and is that validation against a DTD is well defined and
not designed to allow anyone to make exceptions. If you cannot create
XML complying with a DTD then there is nothing in the validation process
you can change to nevertheless get the result "valid". You need to write
your own schema then with the desired grammar/structure and validate
against that.

--

Martin Honnen --- MVP XML
http://JavaScript.FAQTs.com/
Nov 12 '05 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

6
2415
by: Iain | last post by:
I've got a system which takes an XML file, translates it into an update gram and then loads it into my database with SQLXML3 (all in dot net). But it's fragile. And the SQLXML 3 error reporting is not absolutely wonderful. So what I want to do is to validate it before I upload it. When I try and do this I get MILLIONS of errors (well lots) complaining about elements like ROOT which are part of the
4
1894
by: Tomas Rivas | last post by:
I am trying to validate an xml file and schema and when I am trying to validate I am getting the following error. I have been trying to come out with a solution but I have failed so far. The document validates ok in xmlSpy but it fails in VS2003. Is there any article or fix for this? Thnaks in advance. Error: ======
1
2969
by: Andy | last post by:
I am having some trouble validating XML using the XmlValidatingReader. I have created some xml and used the visual studio to generate the schema. So I am confident that the xml and schema match. The problem I am having is that the validation event fires for each node in the xml. It seems to be completely ignoring the schema that I have used. I'm wondering if I need to do something extra to tell the xml which schema to use.
0
2432
by: Gary Shell | last post by:
I am experiencing some strange behavior between a UserControl's validating event and a treeview control. Initially, I thought it was related to an issue in the Knowledgebase article 810852 (http://support.microsoft.com/kb/810852), but then I realized that the hotfix mentioned was in .Net v1.1, which I am using. I took the sample from that article and recreated the situation I see in my application. (Code included below.) If you run the...
4
1738
by: Jonas Bush | last post by:
I've got the some code to try and validate some xml. Against my schema, the "Good" xml (below) produces a couple of warnings, which I don't care about. The "Bad" xml (also below), produces warnings as well, but *should* be producing errors. The XML validator at http://apps.gotdotnet.com/xmltools/xsdvalidator/Default.aspx reports that the "Good" xml produces warnings, but the "bad" xml produces errors, which is what I want to reproduce in...
4
1299
by: Labm1ce | last post by:
' First create Xml document Dim oXmlDocument As New System.Xml.XmlDocument oXmlDocument.LoadXml("<Trees><Oak TreeType=""deciduous""></Oak></Trees>") oXmlDocument.Save("Trees.xml") ' .NET save xml document with spaces <Trees> <Oak TreeType=""deciduous"">
2
1404
by: mehuls | last post by:
I have an A.xml file which I am trying to validate with an A.xsd file. Hi All, A.xsd file inturn imports B.xsd and C.xsd. In A.xsd I have an element named "Account". Account is of type tpAccount which is declared in B.xsd. <xs:complexType name="Message">
0
3593
by: Patrick Brunmayr | last post by:
Hello I have a big Problem with validating a Soap Envelope. I have downloaded the xsd for a soap envelope from http://schemas.xmlsoap.org/soap/envelope/ The validation succeeds as lonng as i don't use elements in body with a xsi:type attribute! The Problem is that foo:person is an abstract type and foo:driver is dervived from it. So using a foo:person is not allowed until specifing
4
5736
by: agda.karlberg | last post by:
Hello, I need to remove the DTD reference from an xml document, the reason for this is that we want to validate against a schema instead (which we have locally). It takes up to a minute to fetch all documents referred to in the DTD, and as we have no use for them I want to remove the reference. I'm using XmlReaderSettings to pass in the xml document and the schema, but when I loop through the reader it goes and tries to get
0
8367
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8279
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
8811
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
7302
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
6160
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5619
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4291
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
1914
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
2
1591
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.