1 /* 2 * reserved comment block 3 * DO NOT REMOVE OR ALTER! 4 */ 5 /* 6 * Copyright 1999-2002,2004 The Apache Software Foundation. 7 * 8 * Licensed under the Apache License, Version 2.0 (the "License"); 9 * you may not use this file except in compliance with the License. 10 * You may obtain a copy of the License at 11 * 12 * http://www.apache.org/licenses/LICENSE-2.0 13 * 14 * Unless required by applicable law or agreed to in writing, software 15 * distributed under the License is distributed on an "AS IS" BASIS, 16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 * See the License for the specific language governing permissions and 18 * limitations under the License. 19 */ 20 21 package com.sun.org.apache.xerces.internal.dom; 22 23 import org.w3c.dom.CDATASection; 24 import org.w3c.dom.Node; 25 26 /** 27 * XML provides the CDATA markup to allow a region of text in which 28 * most of the XML delimiter recognition does not take place. This is 29 * intended to ease the task of quoting XML fragments and other 30 * programmatic information in a document's text without needing to 31 * escape these special characters. It's primarily a convenience feature 32 * for those who are hand-editing XML. 33 * <P> 34 * CDATASection is an Extended DOM feature, and is not used in HTML 35 * contexts. 36 * <P> 37 * Within the DOM, CDATASections are treated essentially as Text 38 * blocks. Their distinct type is retained in order to allow us to 39 * properly recreate the XML syntax when we write them out. 40 * <P> 41 * Reminder: CDATA IS NOT A COMPLETELY GENERAL SOLUTION; it can't 42 * quote its own end-of-block marking. If you need to write out a 43 * CDATA that contains the ]]> sequence, it's your responsibility to 44 * split that string over two successive CDATAs at that time. 45 * <P> 46 * CDATA does not participate in Element.normalize() processing. 47 * 48 * @xerces.internal 49 * 50 * @since PR-DOM-Level-1-19980818. 51 */ 52 public class CDATASectionImpl 53 extends TextImpl 54 implements CDATASection { 55 56 // 57 // Constants 58 // 59 60 /** Serialization version. */ 61 static final long serialVersionUID = 2372071297878177780L; 62 63 // 64 // Constructors 65 // 66 67 /** Factory constructor for creating a CDATA section. */ 68 public CDATASectionImpl(CoreDocumentImpl ownerDoc, String data) { 69 super(ownerDoc, data); 70 } 71 72 // 73 // Node methods 74 // 75 76 /** 77 * A short integer indicating what type of node this is. The named 78 * constants for this value are defined in the org.w3c.dom.Node interface. 79 */ 80 public short getNodeType() { 81 return Node.CDATA_SECTION_NODE; 82 } 83 84 /** Returns the node name. */ 85 public String getNodeName() { 86 return "#cdata-section"; 87 } 88 89 } // class CDATASectionImpl