blob: f5e4c69fb170ee982933bf9332c48ef3a4680ebf [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>{@code
* <a><![CDATA[cdata text]]></a> - is considered as: <a><![CDATA[cdata text]]></a>
* <b><![CDATA[cdata text]]> regular text</b> - is considered as: <b><![CDATA[cdata text regular text]]></b>
* <c>text <![CDATA[cdata text]]></c> - is considered as: <c>text cdata text</c>
* }</pre>
*
* @see XmlOptions#setUseCDataBookmarks()
* @see org.apache.xmlbeans.impl.schema.XmlObjectFactory#parse(String, XmlOptions)
* @see org.apache.xmlbeans.XmlObject#save(java.io.OutputStream, XmlOptions)
* @see XmlOptions#setSaveCDataEntityCountThreshold(int)
* @see XmlOptions#setSaveCDataLengthThreshold(int)
*/
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 final CDataBookmark CDATA_BOOKMARK = new CDataBookmark();
}