williamr@2: /* williamr@2: * Copyright (c) 2004-2006 Nokia Corporation and/or its subsidiary(-ies). williamr@2: * All rights reserved. williamr@2: * This component and the accompanying materials are made available williamr@2: * under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members williamr@2: * which accompanies this distribution, and is available williamr@2: * at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". williamr@2: * williamr@2: * Initial Contributors: williamr@2: * Nokia Corporation - initial contribution. williamr@2: * williamr@2: * Contributors: williamr@2: * williamr@2: * Description: All text nodes functions williamr@2: * williamr@2: */ williamr@2: williamr@2: williamr@2: williamr@2: williamr@2: williamr@2: williamr@2: williamr@2: #ifndef XMLENGINE_CHARACTERDATA_H_INCLUDED williamr@2: #define XMLENGINE_CHARACTERDATA_H_INCLUDED williamr@2: williamr@2: #include "xmlengnode.h" williamr@2: williamr@2: /** williamr@2: * Instance of TXmlEngCharacterData class represents all kinds of XML text nodes williamr@2: * (i.e. text node, comment node) in the DOM tree. williamr@2: * williamr@2: * Describe DOM action for nodes that contains text data. williamr@2: * DOM spec: williamr@2: * http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core.html#ID-FF21A306 williamr@2: * williamr@2: * @lib XmlEngineDOM.lib williamr@2: * @since S60 v3.1 williamr@2: */ williamr@2: class TXmlEngCharacterData : public TXmlEngNode williamr@2: { williamr@2: public: williamr@2: williamr@2: /** williamr@2: * Get content of the node. williamr@2: * williamr@2: * @since S60 v3.1 williamr@2: * @return String with nodes content williamr@2: * williamr@2: * This method applies to TXmlEngCDATASection, TXmlEngComment and TXmlEngTextNode nodes. williamr@2: */ williamr@2: IMPORT_C TPtrC8 Contents() const; williamr@2: williamr@2: /** williamr@2: * Sets contents of basic character nodes: TXmlEngTextNode, TXmlEngComment, TXmlEngCDATASection williamr@2: * williamr@2: * @since S60 v3.1 williamr@2: * @param aNewContents The actual value to store williamr@2: * williamr@2: * The input is taken as non-escaped: for example, williamr@2: * aNewContents = "123 > 34 && P" will be serialized as "123 > 34 && P" williamr@2: * williamr@2: * Escaped contents may be set only for TXmlEngElement and TXmlEngAttr nodes. williamr@2: * @see TXmlEngAttr::SetEscapedValueL(const TDesC8&), TXmlEngElement::SetEscapedTextL(const TDesC8&), williamr@2: */ williamr@2: IMPORT_C void SetContentsL(const TDesC8& aNewContents); williamr@2: williamr@2: /** williamr@2: * Extends the contents of the node by appending aString williamr@2: * williamr@2: * @since S60 v3.1 williamr@2: * @param aString Content to be added to current content williamr@2: */ williamr@2: IMPORT_C void AppendContentsL(const TDesC8& aString); williamr@2: williamr@2: /** williamr@2: * Get length of the content williamr@2: * williamr@2: * @since S60 v3.1 williamr@2: * @return Number of characters in the contents williamr@2: */ williamr@2: IMPORT_C TUint Length() const; williamr@2: williamr@2: protected: williamr@2: /** williamr@2: * Default constructor williamr@2: * williamr@2: * @since S60 v3.1 williamr@2: */ williamr@2: inline TXmlEngCharacterData(); // protected from API users williamr@2: williamr@2: /** williamr@2: * Constructor williamr@2: * williamr@2: * @since S60 v3.1 williamr@2: * @param aInternal node pointer williamr@2: */ williamr@2: inline TXmlEngCharacterData(void* aInternal); williamr@2: }; williamr@2: williamr@2: williamr@2: #include "xmlengcharacterdata.inl" williamr@2: williamr@2: #endif /* XMLENGINE_CHARACTERDATA_H_INCLUDED */ williamr@2: