xsl-list
[Top] [All Lists]

RE: Another lookup problem (well-formed vs. valid)

2003-05-13 13:08:54
[Chris Loschen]

I've been working with data that conforms to a DTD supplied by
my client, Now, they have asked that I use some data from an
additional source which does not conform with their DTD, though
it is parallel (I think) in that the IDs assigned for each entry
are equivalent.

I'm thinking I could use document('....') to pull in the other data,
and I could use <xsl:key> to access the data, but I'm concerned
that the other data doesn't conform to the same DTD as the rest.
I hope (not yet proven) that the other data source is at least well-
formed -- my validating parser hasn't shown me any well-formedness
errors. 

It does not matter what dtd the second document conforms to as long as
you know what its structure is so you can write correct templates for
it.  The only thing would be if its dtd refers to URLs or files that are
not accessible to you (because they are on someone else's file system).

(By the way, this is off-topic, but does anybody happen to
know how I can just call a non-validating parser to confirm that a
document is well-formed? 

Well, you do not have to do anything - when you try to run a transform
on it the processor will first parse it, and give you an error if it is
not well-formed.


One more complication: the additional source document is in 27 pieces,
so I was combining them using the internal subset on the DOCTYPE
line, like so:

<!DOCTYPE OPR PUBLIC "-//xxx/DTD xxx//" "Oro-v315.dtd" [
<!ENTITY efa SYSTEM "./ef/xmlout/efa.xml">
...]
 >
&efa;
...

An old SGML trick which is still very handy, but here I'm concerned
that I'm no longer in pure well-formedness once I've put that DOCTYPE
line in there. But I don't have access to the internal subset 
if I don't
have the DOCTYPE line. I suppose I could hardwire the concatenation
together if I have to.


document() expects to bring an an xml file, which gets parsed as the
first step.  Normally it would not get validated, but entities declared
in the internal subset ought to be understood as for any other xml file.
Of course you would want to try it out with _your__ system and
processor.

Cheers,

Tom P

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



<Prev in Thread] Current Thread [Next in Thread>