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, textDecl
public 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
DefaultFilter
reset
in class DefaultFilter
manager
- The component manager.XMLConfigurationException
public void startDocument(XMLLocator locator, java.lang.String encoding, Augmentations augs) throws XNIException
startDocument
in class DefaultFilter
XNIException
public void startDocument(XMLLocator locator, java.lang.String encoding, NamespaceContext nscontext, Augmentations augs) throws XNIException
startDocument
in class DefaultFilter
XNIException
public void xmlDecl(java.lang.String version, java.lang.String encoding, java.lang.String standalone, Augmentations augs) throws XNIException
xmlDecl
in class DefaultFilter
XNIException
public void comment(XMLString text, Augmentations augs) throws XNIException
comment
in class DefaultFilter
XNIException
public void processingInstruction(java.lang.String target, XMLString data, Augmentations augs) throws XNIException
processingInstruction
in class DefaultFilter
XNIException
public void doctypeDecl(java.lang.String root, java.lang.String pubid, java.lang.String sysid, Augmentations augs) throws XNIException
doctypeDecl
in class DefaultFilter
XNIException
public void startElement(QName element, XMLAttributes attrs, Augmentations augs) throws XNIException
startElement
in class DefaultFilter
XNIException
public void emptyElement(QName element, XMLAttributes attrs, Augmentations augs) throws XNIException
emptyElement
in class DefaultFilter
XNIException
public void startCDATA(Augmentations augs) throws XNIException
startCDATA
in class DefaultFilter
XNIException
public void endCDATA(Augmentations augs) throws XNIException
endCDATA
in class DefaultFilter
XNIException
public void characters(XMLString text, Augmentations augs) throws XNIException
characters
in class DefaultFilter
XNIException
public void endElement(QName element, Augmentations augs) throws XNIException
endElement
in class DefaultFilter
XNIException
protected 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.