public class Purifier extends DefaultFilter
Illegal characters in XML names are converted to the character sequence "_u####_" where "####" is the value of the Unicode character represented in hexadecimal. Whereas illegal characters appearing in document content is converted to the character sequence "\\u####".
In comments, the character '-' is replaced by the character sequence "- " to prevent "--" from ever appearing in the comment content. For CDATA sections, the character ']' is replaced by the character sequence "] " to prevent "]]" from appearing.
The URI used for synthesized namespace bindings is "http://cyberneko.org/html/ns/synthesized/number" where number is generated to ensure uniqueness.
| Modifier and Type | Field and Description |
|---|---|
protected static java.lang.String |
AUGMENTATIONS
Include infoset augmentations.
|
protected boolean |
fAugmentations
Augmentations.
|
protected boolean |
fInCDATASection
True if inside a CDATA section.
|
protected NamespaceContext |
fNamespaceContext
Namespace information.
|
protected boolean |
fNamespaces
Namespaces.
|
protected java.lang.String |
fPublicId
Public identifier of doctype declaration.
|
protected boolean |
fSeenDoctype
True if the doctype declaration was seen.
|
protected boolean |
fSeenRootElement
True if root element was seen.
|
protected int |
fSynthesizedNamespaceCount
Synthesized namespace binding count.
|
protected java.lang.String |
fSystemId
System identifier of doctype declaration.
|
protected static java.lang.String |
NAMESPACES
Namespaces.
|
protected static HTMLEventInfo |
SYNTHESIZED_ITEM
Synthesized event info item.
|
static java.lang.String |
SYNTHESIZED_NAMESPACE_PREFX
Synthesized namespace binding prefix.
|
fDocumentHandler, fDocumentSource| Constructor and Description |
|---|
Purifier() |
| Modifier and Type | Method and Description |
|---|---|
void |
characters(XMLString text,
Augmentations augs)
Characters.
|
void |
comment(XMLString text,
Augmentations augs)
Comment.
|
void |
doctypeDecl(java.lang.String root,
java.lang.String pubid,
java.lang.String sysid,
Augmentations augs)
Doctype declaration.
|
void |
emptyElement(QName element,
XMLAttributes attrs,
Augmentations augs)
Empty element.
|
void |
endCDATA(Augmentations augs)
End CDATA section.
|
void |
endElement(QName element,
Augmentations augs)
End element.
|
protected void |
handleStartDocument()
Handle start document.
|
protected void |
handleStartElement(QName element,
XMLAttributes attrs)
Handle start element.
|
void |
processingInstruction(java.lang.String target,
XMLString data,
Augmentations augs)
Processing instruction.
|
protected java.lang.String |
purifyName(java.lang.String name,
boolean localpart)
Purify name.
|
protected QName |
purifyQName(QName qname)
Purify qualified name.
|
protected XMLString |
purifyText(XMLString text)
Purify content.
|
void |
reset(XMLComponentManager manager)
Resets the component.
|
void |
startCDATA(Augmentations augs)
Start CDATA section.
|
void |
startDocument(XMLLocator locator,
java.lang.String encoding,
Augmentations augs)
Start document.
|
void |
startDocument(XMLLocator locator,
java.lang.String encoding,
NamespaceContext nscontext,
Augmentations augs)
Start document.
|
void |
startElement(QName element,
XMLAttributes attrs,
Augmentations augs)
Start element.
|
protected void |
synthesizeBinding(XMLAttributes attrs,
java.lang.String ns)
Synthesize namespace binding.
|
protected Augmentations |
synthesizedAugs()
Returns an augmentations object with a synthesized item added.
|
protected static java.lang.String |
toHexString(int c,
int padlen)
Returns a padded hexadecimal string for the given value.
|
void |
xmlDecl(java.lang.String version,
java.lang.String encoding,
java.lang.String standalone,
Augmentations augs)
XML declaration.
|
endDocument, endGeneralEntity, endPrefixMapping, getDocumentHandler, getDocumentSource, getFeatureDefault, getPropertyDefault, getRecognizedFeatures, getRecognizedProperties, ignorableWhitespace, merge, setDocumentHandler, setDocumentSource, setFeature, setProperty, startGeneralEntity, startPrefixMapping, textDeclpublic static final java.lang.String SYNTHESIZED_NAMESPACE_PREFX
protected static final java.lang.String NAMESPACES
protected static final java.lang.String AUGMENTATIONS
protected static final HTMLEventInfo SYNTHESIZED_ITEM
protected boolean fNamespaces
protected boolean fAugmentations
protected boolean fSeenDoctype
protected boolean fSeenRootElement
protected boolean fInCDATASection
protected java.lang.String fPublicId
protected java.lang.String fSystemId
protected NamespaceContext fNamespaceContext
protected int fSynthesizedNamespaceCount
public void reset(XMLComponentManager manager)
throws XMLConfigurationException
DefaultFilterreset in class DefaultFiltermanager - The component manager.XMLConfigurationExceptionpublic void startDocument(XMLLocator locator,
java.lang.String encoding,
Augmentations augs)
throws XNIException
startDocument in class DefaultFilterXNIExceptionpublic void startDocument(XMLLocator locator,
java.lang.String encoding,
NamespaceContext nscontext,
Augmentations augs)
throws XNIException
startDocument in class DefaultFilterXNIExceptionpublic void xmlDecl(java.lang.String version,
java.lang.String encoding,
java.lang.String standalone,
Augmentations augs)
throws XNIException
xmlDecl in class DefaultFilterXNIExceptionpublic void comment(XMLString text,
Augmentations augs)
throws XNIException
comment in class DefaultFilterXNIExceptionpublic void processingInstruction(java.lang.String target,
XMLString data,
Augmentations augs)
throws XNIException
processingInstruction in class DefaultFilterXNIExceptionpublic void doctypeDecl(java.lang.String root,
java.lang.String pubid,
java.lang.String sysid,
Augmentations augs)
throws XNIException
doctypeDecl in class DefaultFilterXNIExceptionpublic void startElement(QName element,
XMLAttributes attrs,
Augmentations augs)
throws XNIException
startElement in class DefaultFilterXNIExceptionpublic void emptyElement(QName element,
XMLAttributes attrs,
Augmentations augs)
throws XNIException
emptyElement in class DefaultFilterXNIExceptionpublic void startCDATA(Augmentations augs)
throws XNIException
startCDATA in class DefaultFilterXNIExceptionpublic void endCDATA(Augmentations augs)
throws XNIException
endCDATA in class DefaultFilterXNIExceptionpublic void characters(XMLString text,
Augmentations augs)
throws XNIException
characters in class DefaultFilterXNIExceptionpublic void endElement(QName element,
Augmentations augs)
throws XNIException
endElement in class DefaultFilterXNIExceptionprotected void handleStartDocument()
protected void handleStartElement(QName element,
XMLAttributes attrs)
protected void synthesizeBinding(XMLAttributes attrs,
java.lang.String ns)
protected final Augmentations synthesizedAugs()
protected QName purifyQName(QName qname)
protected java.lang.String purifyName(java.lang.String name,
boolean localpart)
protected XMLString purifyText(XMLString text)
protected static java.lang.String toHexString(int c,
int padlen)
(C) Copyright 2002-2014, Andy Clark, Marc Guillemot. All rights reserved.