SUM: [xsl] duplicate id's

Subject: SUM: [xsl] duplicate id's
From: "Gertjan Assies" <Gertjan.Assies@xxxxxxxxxxxxxx>
Date: Tue, 19 Feb 2002 10:41:02 +0100
	Error on Duplicate ID's

Caused by:
	Validating Parser 
	there is a doctype declaration with DTD in the XML

	setting the ValidateOnParse property to false in MSXML	

I rather have an occasional duplicate article then a big fat error
thanks for all the help

-----Original Message-----
From: Thomas B. Passin [mailto:tpassin@xxxxxxxxxxxx]
Sent: maandag 18 februari 2002 17:37
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] duplicate id's

[David Carlisle]

> > The ID '_1234567890' is duplicated.
> That isn't an XSLT error (teh XSLT spec goes to some lengths to define
> the (error free) behaviour which ensures that to XSLT there are never
> duplicate ids (as later matching attributes are not taken to be ids)
> So this means you are using a validating parser on your input.
> If you do that then having duplicate IDs is an error (specified in the
> XML Rec) so you get an error and XSLT never sees the document at all.
> So, you should ensure that you are using a non validating parser.
> If you are using a non validating parser you should not get an error
> (you could get a warning) but the attributes might not be reported as of
> type ID at all, in which case you can not use the id() function, but you
> can always use key() instead.

Of course, it depends on whether there is a DTD in use.  Without it, an
attribute named "ID" should not be taken for an attribute of type ID.
Gertjan may be able to try this be removing any DOCTYPE declaration from a
copy of one of the documents and trying it out.  If it still fails, or if
there was no DOCTYPE declaration in the first place, that would suggest that
the xpath parser is assuming that any attribute named "ID" is to be treated
as type "ID".  That's done in some XPointer implementations, isn't it (even
though stricly speaking, it's not correct behavior)?


Tom P

 XSL-List info and archive:

 XSL-List info and archive:

Current Thread