epoc32/include/xml/dom/xmlengtext.h
branchSymbian2
changeset 3 e1b950c65cb4
parent 2 2fe1408b6811
child 4 837f303aceeb
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/epoc32/include/xml/dom/xmlengtext.h	Wed Mar 31 12:27:01 2010 +0100
     1.3 @@ -0,0 +1,90 @@
     1.4 +/*
     1.5 +* Copyright (c) 2004-2006 Nokia Corporation and/or its subsidiary(-ies). 
     1.6 +* All rights reserved.
     1.7 +* This component and the accompanying materials are made available
     1.8 +* 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
     1.9 +* which accompanies this distribution, and is available
    1.10 +* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
    1.11 +*
    1.12 +* Initial Contributors:
    1.13 +* Nokia Corporation - initial contribution.
    1.14 +*
    1.15 +* Contributors:
    1.16 +*
    1.17 +* Description:       Text node functions
    1.18 +*
    1.19 +*/
    1.20 +
    1.21 +
    1.22 +
    1.23 +
    1.24 +
    1.25 +
    1.26 +
    1.27 +#ifndef XMLENGINE_TEXT_H_INCLUDED
    1.28 +#define XMLENGINE_TEXT_H_INCLUDED
    1.29 +
    1.30 +#include "xmlengcharacterdata.h"
    1.31 +
    1.32 +
    1.33 +
    1.34 +/**
    1.35 + * The TXmlEngTextNode interface inherits from TXmlEngCharacterData and represents the textual content 
    1.36 + * (termed "character data" in XML) of an Element or TXmlEngAttr. 
    1.37 + *
    1.38 + * If there is no markup inside an element's content, the text is contained in a single object 
    1.39 + * of the TXmlEngTextNode interface that is the only child of the element. If there is markup, 
    1.40 + * it is parsed into the information items (elements, comments, etc.) and TXmlEngTextNode nodes that 
    1.41 + * form the list of children of the element.
    1.42 + * 
    1.43 + * When a document is first made available via the DOM, there is only one TXmlEngTextNode node for each 
    1.44 + * block of text. Users may create adjacent TXmlEngTextNode nodes that represent the contents of a given 
    1.45 + * element without any intervening markup, but should be aware that there is no way to 
    1.46 + * represent the separations between these nodes in XML or HTML, so they will not (in general) 
    1.47 + * persist between DOM editing sessions. 
    1.48 + * 
    1.49 + * No lexical check is done on the content of a TXmlEngTextNode node and, depending on its position in 
    1.50 + * the document, some characters must be escaped during serialization using character references; 
    1.51 + * e.g. the characters "<&" if the textual content is part of an element or of an attribute, 
    1.52 + * the character sequence "]]>" when part of an element, the quotation mark character " or 
    1.53 + * the apostrophe character ' when part of an attribute. 
    1.54 + * 
    1.55 + * <b>DOM Level 3 spec:</b>
    1.56 + * <p>http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core.html#ID-1312295772
    1.57 + * 
    1.58 + * @lib XmlEngineDOM.lib
    1.59 + * @since S60 v3.1
    1.60 + */
    1.61 +class TXmlEngTextNode : public TXmlEngCharacterData
    1.62 +{
    1.63 +public:
    1.64 +    /**
    1.65 +     * Default constructor
    1.66 +     *
    1.67 +     * @since S60 v3.1
    1.68 +     */
    1.69 +	inline TXmlEngTextNode();
    1.70 +
    1.71 +    /**
    1.72 +     * Check if element content is whitespace.
    1.73 +     *
    1.74 +     * @since S60 v3.1
    1.75 +     * @return TRUE if is only whitespace
    1.76 +     */
    1.77 +    IMPORT_C TBool IsElementContentWhitespace() const;
    1.78 +
    1.79 +protected:
    1.80 +    /**
    1.81 +     * Constructor
    1.82 +     *
    1.83 +     * @since S60 v3.1
    1.84 +     * @param aInternal Text node pointer
    1.85 +     */
    1.86 +    inline TXmlEngTextNode(void* aInternal);
    1.87 +};
    1.88 +
    1.89 +
    1.90 +
    1.91 +#include "xmlengtext.inl"
    1.92 +
    1.93 +#endif /* XMLENGINE_TEXT_H_INCLUDED */