blob: 7f3cd2a6673ba0524e726cef7b53683768a714e3 [file] [log] [blame]
/* Copyright 2004 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.xmlbeans;
/**
* Represents a CDATA bookmark.<p>
*
* When XmlOption UseCDataBookmarks is setted on parse methods,
* the loader will set these CDataBookmarks in the store on the respective
* TEXT fields that were represented as CDATA.<p>
*
* Users can modify the 'look' of TEXT fields, by annotating them with
* this bookmark, or remove the bookmark.<p>
*
* Additionaly if setted on save methods, the output will look for these
* bookmarks and will output the text as CDATA.
* Note: The SaveCDataEntityCountThreshold and SaveCDataLengthThreshold
* options and their default values still apply.<p>
*
* Note: Due to the store representation, a CDATA will not be recognized
* if it is imediately after non CDATA text and all text following it will
* be considered CDATA.<br>
* Example:<br>
* <pre>
* &lt;a&gt;&lt;![CDATA[cdata text]]&gt;&lt;/a&gt; - is considered as: &lt;a&gt;&lt;![CDATA[cdata text]]&gt;&lt;/a&gt;
* &lt;b&gt;&lt;![CDATA[cdata text]]&gt; regular text&lt;/b&gt; - is considered as: &lt;b&gt;&lt;![CDATA[cdata text regular text]]&gt;&lt;/b&gt;
* &lt;c&gt;text &lt;![CDATA[cdata text]]&gt;&lt;/c&gt; - is considered as: &lt;c&gt;text cdata text&lt;/c&gt;
* </pre>
*
* @see XmlOptions#setUseCDataBookmarks()
* @see org.apache.xmlbeans.XmlObject.Factory#parse(String, XmlOptions)
* @see org.apache.xmlbeans.XmlObject#save(java.io.OutputStream, XmlOptions)
* @see XmlOptions#setSaveCDataEntityCountThreshold(int)
* @see XmlOptions#setSaveCDataLengthThreshold(int)
* @author Cezar Andrei (cezar dot andrei at gmail dot com)
*/
public class CDataBookmark
extends XmlCursor.XmlBookmark
{
/**
* The actual bookmark object representing CData.<br>
* Users must use this bookmark in addition to UseCDataBookmarks
* option to make use of CDATA representation in XML text.
*/
public static CDataBookmark CDATA_BOOKMARK = new CDataBookmark();
}