xml/legacyminidomparser/XMLDom/INC/GMXMLElement.h
changeset 34 c7e9f1c97567
parent 25 417699dc19c9
child 36 172b09aa4eb6
--- a/xml/legacyminidomparser/XMLDom/INC/GMXMLElement.h	Thu Jul 01 15:13:40 2010 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,194 +0,0 @@
-// Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// This file contains the declaration of the CMDXMLElement class.
-// 
-//
-
-/**
- @file
-*/
-
-#ifndef __GMXMLELEMENT_H__
-#define __GMXMLELEMENT_H__
-
-#include <e32base.h>
-#include <badesca.h>
-#include <gmxmlnode.h>
-
-
-// forward references
-class CMDXMLEntityConverter;
-class CMDXMLComposer;
-
-
-// Constants for the initial and terminal states
-const TInt KXMLMinJump = 5; // Don't do binary chop below this size.  Not a critical value.
-
-class CMDXMLElement : public CMDXMLNode
-/** Generic XML element, and base class for particular XML element types.
-
-It provides access to the element tag name and its attribute list. Attributes are
-stored as name-value pairs.  
-@publishedPartner
-@released
-*/
-{
-public:
-	/** Allocates and constructs a new CMDXMLElement, leaving the object on the cleanup 
-	stack.
-	
-	@param aCanHaveChildren Set to true if the element can have children
-	@param aOwnerDocument Pointer to the document at the root of the DOM tree
-	@param aTagName Name of the tag for the element
-	@leave KErrNoMemory Out of memory
-	@return The new CMDXMLElement */
-	IMPORT_C static CMDXMLElement* NewLC( TBool aCanHaveChildren, CMDXMLDocument* aOwnerDocument, TPtrC aTagName );
-
-	/** Allocates and constructs a new CMDXMLElement.
-	
-	@param aCanHaveChildren Set to true if the element can have children
-	@param aOwnerDocument Pointer to the document at the root of the DOM tree
-	@param aTagName Name of the tag for the element
-	@leave KErrNoMemory Out of memory
-	@return The new CMDXMLElement */
-	IMPORT_C static CMDXMLElement* NewL( TBool aCanHaveChildren, CMDXMLDocument* aOwnerDocument, TPtrC aTagName );
-
-	/** Destructor. */
-	IMPORT_C virtual ~CMDXMLElement();
-
-	// Attribute handling routines.
-
-	/** Gets a specified attribute value.
-	
-	@param aAttributeName Name of the attribute to get
-	@param aAttributeValue On return, the value of the attribute
-	@return KErrNone if successful, KErrNotFound if the named attribute is not set. */
-	IMPORT_C virtual TInt GetAttribute(const TDesC& aAttributeName, TPtrC& aAttributeValue ) const;
-
-	/** Checks the validity of an attribute and adds it to the DOM if it's valid.
-	
-	@param aAttributeName Name of the attribute to set
-	@param aAttributeValue Value of the attribute
-	@leave KErrNoMemory Out of memory
-	@return KErrNone if successful, KErrNotSupported if an invalid attribute name 
-	or attribute value. */
-	IMPORT_C virtual TInt SetAttributeL(const TDesC& aAttributeName, const TDesC& aAttributeValue);
-	
-	/** Checks the validity of an attribute and adds it to the DOM.  The aStoreInvalid 
-	parameter is used to control whether invalid attributes are added to the DOM.
-	@param aAttributeName Name of the attribute to set
-	@param aAttributeValue Value of the attribute
-	@param aStoreInvalid If set to EFalse only attributes that are found to be valid will be added to
-	the DOM.  Set to ETrue to store all attributes in the DOM, even those that are invalid.
-	@leave KErrNoMemory Out of memory
-	@return KErrNone if successful, KErrNotSupported if an invalid attribute name 
-	or attribute value. */
-	IMPORT_C TInt SetAttributeL(const TDesC& aAttributeName, const TDesC& aAttributeValue, TBool aStoreInvalid);
-
-	/** Removes a specified attribute.
-	
-	@param aAttributeName Name of the attribute to remove
-	@return KErrNone if successful, KErrNotFound if the named attribute is not 
-	present. */
-	IMPORT_C virtual TInt RemoveAttribute(const TDesC& aAttributeName);
-
-	/** Tests if a specified attribute is set.
-	
-	@param aAttributeName Name of the attribute to test
-	@return True if the named attribute has a value set, false if not */
-	IMPORT_C virtual TBool IsAttributeSpecified(const TDesC& aAttributeName) const;
-
-
-	/** Checks the children of this node for validity.
-
-	It checks that the list of child elements conforms to those allowed by the DTD. 
-	
-	In a generic CMDXMLElement object, this is always true as it has no basis 
-	for a meaningful check. As well as checking the list of direct children, it 
-	calls CheckChildren() for each child element. It does not check child nodes 
-	that are not elements, as they cannot have children.
-	
-	@return True if the node has valid children */
-	IMPORT_C virtual TBool CheckChildren();
-
-// maybe these should be node functions ?
-	/** Gets a pointer to the first child of a given type if any, otherwise returns 
-	NULL.
-	
-	@param aElementType Name of element type to return
-	@return First child element */
-	IMPORT_C CMDXMLElement* FirstChildOfType(const TDesC& aElementType);
-
-	/** Gets a pointer to the last child of a given type if any, otherwise returns 
-	NULL.
-	
-	@param aElementType Name of element type to return
-	@return Last child element */
-	IMPORT_C CMDXMLElement* LastChildOfType(const TDesC& aElementType);
-
-
-
-protected: //construction
-	/**
-	 * Constructor
-	 * @param aCanHaveChildren Flag to indicate if the node represents a node which is allowed children
-	 * @param aOwnerDocument Pointer to the document at the root of the DOM tree - if NULL then assume this is the root
-	 */
-	IMPORT_C CMDXMLElement( TBool aCanHaveChildren, CMDXMLDocument* aOwnerDocument );
-
-	void ConstructL();
-protected:
-	/**
-	 * Check the immediate children of this element - i.e. the first level of children only
-	 * The default implementation returns true - derived classes can override with
-	 * DTD-specific checks.
-	 * @return True if immediate children are valid
-	 */
-	IMPORT_C virtual TBool CheckImmediateChildren();
-
-private:
-	 TBool DoCheckImmediateChildrenL();
-
-
-public: 
-	/** Finds an attribute and returns the index of it.
-	
-	@param aAttName The attribute to search for
-	@return The index of the attribute if found, or KErrNotFound */
-	IMPORT_C TInt FindIndex(const TDesC &aAttName);
-
-
-	/** Gets the name and value of an attribute at a given index.
-	
-	@param Index The array index of the element for which details are required
-	@param aAttributeName The attribute name returned
-	@param aAttributeValue The attribute value returned
-	@return KErrNone if index is valid, else KErrNotFound */
-	IMPORT_C TInt AttributeDetails(TInt Index, TPtrC& aAttributeName, TPtrC& aAttributeValue);
-
-	/** Gets the number of attributes that this element has.
-	
-	@return The number of attributes held by the element */
-	IMPORT_C TInt NumAttributes();
-
-protected:
-	/** Store attribute names */
-	CDesCArraySeg* iDescAttName;		// Store Attribute Names
-	/** Store attribute values */
-	CDesCArraySeg* iDescAttValue;		// Store Attribute Values
-
-};
-
-
-#endif