@@ -57,10 +57,27 @@ /*! * The default namespace for the element to be used if there is no parent. */ @property OF_NULLABLE_PROPERTY (copy, nonatomic) OFString *defaultNamespace; +/*! + * An array with the attributes of the element + */ +@property OF_NULLABLE_PROPERTY (readonly, nonatomic) + OFArray OF_GENERIC(OFXMLAttribute *) *attributes; + +/*! + * An array of OFXMLNodes with all children of the element. + */ +@property OF_NULLABLE_PROPERTY (nonatomic, copy) + OFArray OF_GENERIC(OFXMLNode *) *children; + +/*! + * All children that are elements. + */ +@property (readonly, nonatomic) OFArray OF_GENERIC(OFXMLElement *) *elements; + /*! * @brief Creates a new XML element with the specified name. * * @param name The name for the element * @return A new autoreleased OFXMLElement with the specified element name @@ -227,17 +244,10 @@ * @param namespace_ The namespace for which the prefix is bound */ - (void)bindPrefix: (OFString *)prefix forNamespace: (OFString *)namespace_; -/*! - * @brief Returns an OFArray with the attributes of the element. - * - * @return An OFArray with the attributes of the element - */ -- (nullable OFArray OF_GENERIC(OFXMLAttribute *) *)attributes; - /*! * @brief Adds the specified attribute. * * If an attribute with the same name and namespace already exists, it is not * added. @@ -305,24 +315,10 @@ * @param attributeNS The namespace of the attribute */ - (void)removeAttributeForName: (OFString *)attributeName namespace: (nullable OFString *)attributeNS; -/*! - * @brief Removes all children and adds the children from the specified array. - * - * @param children The new children to add - */ -- (void)setChildren: (nullable OFArray OF_GENERIC(OFXMLNode *) *)children; - -/*! - * @brief Returns an array of OFXMLNodes with all children of the element. - * - * @return An array of OFXMLNodes with all children of the element - */ -- (nullable OFArray OF_GENERIC(OFXMLNode *) *)children; - /*! * @brief Adds a child to the OFXMLElement. * * @param child An OFXMLNode which is added as a child */ @@ -377,17 +373,10 @@ * @param node The node to replace the child with */ - (void)replaceChildAtIndex: (size_t)index withNode: (OFXMLNode *)node; -/*! - * @brief Returns all children that are elements. - * - * @return All children that are elements - */ -- (OFArray OF_GENERIC(OFXMLElement *) *)elements; - /*! * @brief Returns all children that have the specified namespace. * * @return All children that have the specified namespace */