Duncan,

Thanks, that that make sense, I have never encountered namespaces so I did
not recognized them. So in my example xmlns="a" xmlns:xsi="b" are namespace
variables, and xsi:schemaLocation="c" is a "Schema-Related Markup"
attribute. This last one seemed to be handled strangely, since it is listed
as attribute but its name got truncated from "xsi:schemaLocation" to
"schemaLocation".

Jarek



-----Original Message-----
From: Duncan Temple Lang [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, May 31, 2005 11:38 AM
To: Tuszynski, Jaroslaw W.
Cc: ([EMAIL PROTECTED]); '[EMAIL PROTECTED]'
Subject: Re: [R] xmlAttrs and problems with reading node attributes of XML
file (b ug?)


Hi Jarek.

Is the problem you are referring to simply that the xmlns="a" and
xmlns:xsi="b" are not appearing when your handler prints the attributes?  If
it is this the case, the explanation is quite simple - they are namespace
definitions, not attributes.
They are in the node object

    x$namespaceDefinitions


names(unclass(x)) will help to see what is in the node.

HTH,
  D.


Tuszynski, Jaroslaw W. wrote:
> Hi,
> 
> Consider the following code:
> 
>         require(XML)
>         xmlFile = paste( "<?xml version=\"1.0\"
> encoding=\"ISO-8859-1\"?>\n", 
>                   "<mzXML xmlns=\"a\" xmlns:xsi=\"b\"
> xsi:schemaLocation=\"c\">\n",
>                   "<parentFile a=\"a\" b=\"b\" />\n",
>                   "</mzXML>\n")
>         cat(xmlFile)
>         
>         a = function(x,...){
>           cat("Attributes of ", xmlName(x), ": "); 
>           print(xmlAttrs(x));
>           cat("\n"); 
>           NULL
>         }
>         
>         xmlTreeParse(file=xmlFile, asText=TRUE,
> handlers=list("startElement"=a) )
> 
> And its output:
> 
>        <?xml version="1.0" encoding="ISO-8859-1"?>
>        <mzXML xmlns="a" xmlns:xsi="b" xsi:schemaLocation="c">
>        <parentFile a="a" b="b" />
>        </mzXML>
> 
>       Attributes of  parentFile :   a   b 
>                                            "a" "b" 
> 
>       Attributes of  mzXML : schemaLocation 
>                                         "c" 
> It seems to me that XML parser was able to correctly list all the 
> attributes of the "parentFile" node but it failed on "mzXML" node.
> Am I missusing the functions somehow or is it a bug?
> Attribute names in "mzXML" node are part of mzXML file format and can 
> not be changed (removing all ':' would fix the problem) and I would 
> like to store than so whan I write mzXML file I have the same header.
> 
> Jarek
> ====================================================\=======
> 
>  Jarek Tuszynski, PhD.                           o / \ 
>  Science Applications International Corporation  <\__,|  
>  (703) 676-4192                                   ">   \
>  [EMAIL PROTECTED]                     `    \
> 
> 
> 
>       [[alternative HTML version deleted]]
> 
> ______________________________________________
> R-help@stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! 
> http://www.R-project.org/posting-guide.html

______________________________________________
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to