@@ -7,7 +7,9 @@ xml_node <- function(node = NULL, doc = NULL) {
77 if (inherits(node , " xml_node" )) {
88 node
99 } else {
10- structure(list (node = node , doc = doc ), class = " xml_node" )
10+ out <- list (node = node , doc = doc )
11+ class(out ) <- " xml_node"
12+ out
1113 }
1214}
1315
@@ -38,7 +40,9 @@ xml_document <- function(doc) {
3840 class(x ) <- c(" xml_document" , class(x ))
3941 x
4042 } else {
41- structure(list (doc = doc ), class = " xml_document" )
43+ out <- list (doc = doc )
44+ class(out ) <- " xml_document"
45+ out
4246 }
4347}
4448
@@ -75,7 +79,8 @@ xml_nodeset <- function(nodes = list(), deduplicate = TRUE) {
7579 if (isTRUE(deduplicate )) {
7680 nodes <- nodes [! .Call(nodes_duplicated , nodes )]
7781 }
78- structure(nodes , class = " xml_nodeset" )
82+ class(nodes ) <- " xml_nodeset"
83+ nodes
7984}
8085
8186# ' @param nodes A list (possible nested) of external pointers to nodes
@@ -200,7 +205,9 @@ format_attributes <- function(x) {
200205# ' @export
201206# ' @keywords internal
202207xml_missing <- function () {
203- structure(list (), class = " xml_missing" )
208+ out <- list ()
209+ class(out ) <- " xml_missing"
210+ out
204211}
205212
206213# ' @export
@@ -243,7 +250,8 @@ as.character.xml_missing <- function(x, ...) {
243250# ' as.character(x)
244251# ' @export
245252xml_cdata <- function (content ) {
246- structure(content , class = " xml_cdata" )
253+ class(content ) <- " xml_cdata"
254+ content
247255}
248256
249257# ' Construct a comment node
@@ -255,7 +263,8 @@ xml_cdata <- function(content) {
255263# ' as.character(x)
256264# ' @export
257265xml_comment <- function (content ) {
258- structure(content , class = " xml_comment" )
266+ class(content ) <- " xml_comment"
267+ content
259268}
260269
261270# ' Construct a document type definition
@@ -281,5 +290,7 @@ xml_comment <- function(content) {
281290# ' <doc>This is a valid document &foo; !</doc>')
282291# ' @export
283292xml_dtd <- function (name = " " , external_id = " " , system_id = " " ) {
284- structure(list (name = name , external_id = external_id , system_id = system_id ), class = " xml_dtd" )
293+ out <- list (name = name , external_id = external_id , system_id = system_id )
294+ class(out ) <- " xml_dtd"
295+ out
285296}
0 commit comments