Permalink
Browse files

new function 'real-node-p and 'all-attribute-nodes

  • Loading branch information...
archimag committed Mar 24, 2011
1 parent 24a9090 commit c764b8233b123b7fa141f69a88dcbda9781aa5c6
Showing with 17 additions and 0 deletions.
  1. +15 −0 tree/node.lisp
  2. +2 −0 tree/packages.lisp
View
@@ -57,6 +57,13 @@
(defmethod release/impl ((node node))
(%xmlFreeNode (pointer node)))
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; real-node-p
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+(defun real-node-p (node)
+ (if (pointer node) t))
+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; copy
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -407,6 +414,14 @@
(iter (for item in-child-nodes node)
(collect item)))
+;;; element-attributes
+
+(defun all-attribute-nodes (element)
+ (unless (eql (node-type element) :xml-element-node)
+ (error "~A is not :xml-element-node" (node-type element)))
+ (iter (for attr in-next-siblings-from (wrapper-slot-node element '%properties))
+ (collect attr)))
+
(defun pointer-to-node (ptr)
(unless (null-pointer-p ptr)
View
@@ -38,6 +38,7 @@
#:make-ns
#:copy
+ #:real-node-p
#:element-p
#:attribute-p
#:text-p
@@ -79,6 +80,7 @@
#:first-child
#:last-child
#:all-childs
+ #:all-attribute-nodes
#:next-sibling
#:prev-sibling
#:local-name

0 comments on commit c764b82

Please sign in to comment.