[R] xmlAttrs and problems with reading node attributes of XML file (b ug?)

Tuszynski, Jaroslaw W. JAROSLAW.W.TUSZYNSKI at saic.com
Tue May 31 19:00:01 CEST 2005


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:duncan at wald.ucdavis.edu] 
Sent: Tuesday, May 31, 2005 11:38 AM
To: Tuszynski, Jaroslaw W.
Cc: (r-help at stat.math.ethz.ch.); 'duncan at research.bell-labs.com'
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                                   ">   \
>  Jaroslaw.W.Tuszynski at saic.com                     `    \
> 
> 
> 
> 	[[alternative HTML version deleted]]
> 
> ______________________________________________
> R-help at 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




More information about the R-help mailing list