Re: [R] getNodeSet - what am I doing wrong?
Thanks! but: library(XML) xmlDoc - xmlTreeParse(http://www.unimod.org/xml/unimod_tables.xml;) getNodeSet(xmlDoc,//x:modifications_row, x) Error in function (classes, fdef, mtable) : unable to find an inherited method for function saveXML, for signature XMLDocument ? Thanks, Joh Duncan Temple Lang wrote: Hi Johannes This is a common issue. The document has a default XML namespace, e.g. the root node is defined as unimod xmlns=http://www.unimod.org/xmlns/schema/unimod_tables_1;... . So you need to specify which namespace to match in the XPath expression in getNodeSet(). The XML package provides a convenient facility for this. You need only specify the prefix such as x and that will be bound to the default namespace. You need to specify this in two places - where you use it in the XPath expression and in the namespaces argument of getNodeSet() So getNodeSet(test, //x:modifications_row, x) gives you probably what you want. D. On 8/30/10 8:02 AM, Johannes Graumann wrote: library(XML) test - xmlTreeParse( http://www.unimod.org/xml/unimod_tables.xml,useInternalNodes=TRUE) getNodeSet(test,//modifications_row) __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
Re: [R] getNodeSet - what am I doing wrong?
Johannes Graumann wrote: Thanks! but: library(XML) xmlDoc - xmlTreeParse(http://www.unimod.org/xml/unimod_tables.xml;) You need to xmlParse() or xmlTreeParse(url, useInternalNodes = TRUE) (which are equivalent) in order to be able to use getNodeSet(). The error you are getting is because you are using xmlTreeParse() and the result is a tree represented in R rather than internal C-level data structures on which getNodeSet() can operate. xmlParse() is faster than xmlTreeParse() and one can use XPath to query it. D. getNodeSet(xmlDoc,//x:modifications_row, x) Error in function (classes, fdef, mtable) : unable to find an inherited method for function saveXML, for signature XMLDocument ? Thanks, Joh Duncan Temple Lang wrote: Hi Johannes This is a common issue. The document has a default XML namespace, e.g. the root node is defined as unimod xmlns=http://www.unimod.org/xmlns/schema/unimod_tables_1;... . So you need to specify which namespace to match in the XPath expression in getNodeSet(). The XML package provides a convenient facility for this. You need only specify the prefix such as x and that will be bound to the default namespace. You need to specify this in two places - where you use it in the XPath expression and in the namespaces argument of getNodeSet() So getNodeSet(test, //x:modifications_row, x) gives you probably what you want. D. On 8/30/10 8:02 AM, Johannes Graumann wrote: library(XML) test - xmlTreeParse( http://www.unimod.org/xml/unimod_tables.xml,useInternalNodes=TRUE) getNodeSet(test,//modifications_row) __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. -- There are men who can think no deeper than a fact - Voltaire Duncan Temple Langdun...@wald.ucdavis.edu Department of Statistics work: (530) 752-4782 4210 Mathematical Sciences Bldg. fax: (530) 752-7099 One Shields Ave. University of California at Davis Davis, CA 95616, USA pgpaTPO7e32dB.pgp Description: PGP signature __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
Re: [R] getNodeSet - what am I doing wrong?
Sorry about that - got dropped from my attempts yesterday (see the first example below, that has the useInternalNodes=TRUE) ... Thanks again, Joh Duncan Temple Lang wrote: Johannes Graumann wrote: Thanks! but: library(XML) xmlDoc - xmlTreeParse(http://www.unimod.org/xml/unimod_tables.xml;) You need to xmlParse() or xmlTreeParse(url, useInternalNodes = TRUE) (which are equivalent) in order to be able to use getNodeSet(). The error you are getting is because you are using xmlTreeParse() and the result is a tree represented in R rather than internal C-level data structures on which getNodeSet() can operate. xmlParse() is faster than xmlTreeParse() and one can use XPath to query it. D. getNodeSet(xmlDoc,//x:modifications_row, x) Error in function (classes, fdef, mtable) : unable to find an inherited method for function saveXML, for signature XMLDocument ? Thanks, Joh Duncan Temple Lang wrote: Hi Johannes This is a common issue. The document has a default XML namespace, e.g. the root node is defined as unimod xmlns=http://www.unimod.org/xmlns/schema/unimod_tables_1;... . So you need to specify which namespace to match in the XPath expression in getNodeSet(). The XML package provides a convenient facility for this. You need only specify the prefix such as x and that will be bound to the default namespace. You need to specify this in two places - where you use it in the XPath expression and in the namespaces argument of getNodeSet() So getNodeSet(test, //x:modifications_row, x) gives you probably what you want. D. On 8/30/10 8:02 AM, Johannes Graumann wrote: library(XML) test - xmlTreeParse( http://www.unimod.org/xml/unimod_tables.xml,useInternalNodes=TRUE) getNodeSet(test,//modifications_row) __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
Re: [R] getNodeSet - what am I doing wrong?
Hi Johannes This is a common issue. The document has a default XML namespace, e.g. the root node is defined as unimod xmlns=http://www.unimod.org/xmlns/schema/unimod_tables_1;... . So you need to specify which namespace to match in the XPath expression in getNodeSet(). The XML package provides a convenient facility for this. You need only specify the prefix such as x and that will be bound to the default namespace. You need to specify this in two places - where you use it in the XPath expression and in the namespaces argument of getNodeSet() So getNodeSet(test, //x:modifications_row, x) gives you probably what you want. D. On 8/30/10 8:02 AM, Johannes Graumann wrote: library(XML) test - xmlTreeParse( http://www.unimod.org/xml/unimod_tables.xml,useInternalNodes=TRUE) getNodeSet(test,//modifications_row) __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.