OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   RE: [xml-dev] Adding PI in XML Document

[ Lists Home | Date Index | Thread Index ]

> -----Original Message-----
> From: Deshpande, Gururaj [mailto:gururaj.deshpande@flsmidth.com]
> Sent: Thursday, April 25, 2002 10:14 PM
> To: 'Sambasivarao_Potla'; 'xml-dev@lists.xml.org'
> Subject: RE: [xml-dev] Adding PI in XML Document
>
>
> Instead of ProcessingInstruction, create a Node and append to document.
>
> Do this
>
>    // xsl Processing instruction
>     Node pi = document.createProcessingInstruction("xml-stylesheet",
> "type=\"text/xsl\" href=\"cdcatalog.xsl\"");
>     document.appendChild(pi);
>
> - Gururaj
>

Sorry, Gururaj, but that answer seems wrong to me for two reasons.

1. Firstly, ProcessingInstructions are inherited from Nodes, so your answer
appears like a recasting of this:

> >
> >  Here is the code am trying
> >
> >              String data = "type=\"text/xsl\" href=\"cdcatalog.xsl\"";
> > 	 ProcessingInstruction pi =
> > doc.createProcessingInstruction("xml-stylesheet",data);
> >   	doc.appendChild( pi );
> >
> >  But when I write to a file after finishing no pi appeares in xml
> > document.
> >

And probably would have the same result.

Secondly, appending a child adds the PI at the end of the document, which is
not what Sambasivarao wants. Instead,
you do something like this:

String data = "type=\"text/xsl\" href=\"cdcatalog.xsl\"";
ProcessingInstruction pi =
doc.createProcessingInstruction("xml-stylesheet",data);
doc.insertBefore((Node)pi,doc.getFirstChild());

That's my guess, based on testing something similar with Xerces C++ as the
base. The result: the PI was inserted before the element. I can't really see
any difference with a Java implementation.

Regards,
Peter.







 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS