public class XMLParser extends Object
XMLTokenizer
to parse an XMLSource
into a Document
.XMLSource
,
XMLTokenizer
,
Document
Constructor and Description |
---|
XMLParser() |
Modifier and Type | Method and Description |
---|---|
protected Node |
createAttribute(Token token) |
protected Node |
createCData(Token token) |
protected Node |
createComment(Token token) |
protected Node |
createDocTypeText(Token token) |
protected XMLTokenizer |
createDTDTokenizer(XMLSource source,
int startOffset) |
protected Node |
createElement(Token token) |
protected Node |
createElementWhitespace(Token token) |
protected Node |
createEntity(Token token) |
protected Node |
createProcessingInstruction(Token token) |
protected Node |
createText(Token token) |
protected XMLTokenizer |
createTokenizer(XMLSource source) |
protected void |
expandEntity(Element parent,
XMLTokenizer parentTokenizer,
Token entityToken,
Set<String> recursionTrap) |
protected Token |
expect(XMLTokenizer tokenizer,
Token startToken,
XMLTokenizer.Type[] expected,
String errorMessage)
Fetch the next token and make sure it's one of
expected . |
protected Token |
expect(XMLTokenizer tokenizer,
Token startToken,
XMLTokenizer.Type expected,
String errorMessage)
Fetch the next token and make sure it's
expected . |
CharValidator |
getCharValidator() |
EntityResolver |
getEntityResolver() |
boolean |
isExpandEntities() |
boolean |
isTreatEntitiesAsText() |
protected boolean |
isValidName(XMLTokenizer tokenizer,
String name) |
static Document |
parse(File file)
Convenience method to parse a file into XML.
|
static Document |
parse(String xml)
Convenience method to parse a String into XML.
|
Document |
parse(XMLSource source)
Parse an XML source into a Document
|
protected Token |
parseAttListNameTokens(XMLTokenizer tokenizer,
Token token,
DocTypeAttributeList attList) |
protected Token |
parseAttListTypeGroup(XMLTokenizer tokenizer,
Token token,
DocTypeAttributeList attList) |
protected DocType |
parseDocType(XMLTokenizer tokenizer) |
protected void |
parseDocTypeAttList(XMLTokenizer tokenizer,
Token startToken,
DocType docType) |
protected void |
parseDocTypeEntity(XMLTokenizer tokenizer,
Token startToken,
DocType docType) |
protected void |
parseDocTypeNotation(XMLTokenizer tokenizer,
Token startToken,
DocType docType) |
protected void |
parseDocTypeSubElement(XMLTokenizer tokenizer,
Token startToken,
DocType docType) |
protected Token |
parseDocTypeSubSet(XMLTokenizer tokenizer,
Token startToken,
DocType docType) |
protected void |
parseElement(XMLTokenizer tokenizer,
Element parent)
Parse all tokens up to the end tag recursively into an element.
|
protected Token |
parseElementContent(XMLTokenizer tokenizer,
Element parent,
Set<String> recursionTrap) |
protected Token |
parsePublicLiteral(XMLTokenizer tokenizer,
Token startToken,
DocType docType) |
protected Token |
parseSystemLiteral(XMLTokenizer tokenizer,
Token startToken,
DocType docType) |
XMLParser |
setCharValidator(CharValidator charValidator) |
XMLParser |
setEntityResolver(EntityResolver entityResolver) |
XMLParser |
setExpandEntities(boolean expandEntities) |
XMLParser |
setTreatEntitiesAsText(boolean treatEntitiesAsText) |
protected Token |
skipOptionalWhitespace(XMLTokenizer tokenizer,
Token startToken,
DocType docType)
If the next token is whitespace, skip it.
|
protected Token |
skipWhiteSpaceAndComments(XMLTokenizer tokenizer,
Token token,
DocTypeNode n) |
protected String |
stripQuotes(Token token) |
protected Node |
toNode(Token token)
This turns a token into a node.
|
public XMLParser setEntityResolver(EntityResolver entityResolver)
public EntityResolver getEntityResolver()
public XMLParser setExpandEntities(boolean expandEntities)
public boolean isExpandEntities()
public XMLParser setTreatEntitiesAsText(boolean treatEntitiesAsText)
public boolean isTreatEntitiesAsText()
public CharValidator getCharValidator()
public XMLParser setCharValidator(CharValidator charValidator)
protected DocType parseDocType(XMLTokenizer tokenizer)
protected XMLTokenizer createDTDTokenizer(XMLSource source, int startOffset)
protected Token skipOptionalWhitespace(XMLTokenizer tokenizer, Token startToken, DocType docType)
tokenizer
- startToken
- This might be whitespacedocType
- protected Token parseDocTypeSubSet(XMLTokenizer tokenizer, Token startToken, DocType docType)
protected void parseDocTypeNotation(XMLTokenizer tokenizer, Token startToken, DocType docType)
protected void parseDocTypeEntity(XMLTokenizer tokenizer, Token startToken, DocType docType)
protected void parseDocTypeAttList(XMLTokenizer tokenizer, Token startToken, DocType docType)
protected boolean isValidName(XMLTokenizer tokenizer, String name)
protected Token parseAttListNameTokens(XMLTokenizer tokenizer, Token token, DocTypeAttributeList attList)
protected Token parseAttListTypeGroup(XMLTokenizer tokenizer, Token token, DocTypeAttributeList attList)
protected Token skipWhiteSpaceAndComments(XMLTokenizer tokenizer, Token token, DocTypeNode n)
protected void parseDocTypeSubElement(XMLTokenizer tokenizer, Token startToken, DocType docType)
protected Token parsePublicLiteral(XMLTokenizer tokenizer, Token startToken, DocType docType)
protected Token parseSystemLiteral(XMLTokenizer tokenizer, Token startToken, DocType docType)
protected Token expect(XMLTokenizer tokenizer, Token startToken, XMLTokenizer.Type[] expected, String errorMessage)
expected
. If not, create an
XMLParseException
using the errorMessage
protected Token expect(XMLTokenizer tokenizer, Token startToken, XMLTokenizer.Type expected, String errorMessage)
expected
. If not, create an
XMLParseException
using the errorMessage
protected XMLTokenizer createTokenizer(XMLSource source)
source
- protected void parseElement(XMLTokenizer tokenizer, Element parent)
protected Token parseElementContent(XMLTokenizer tokenizer, Element parent, Set<String> recursionTrap)
tokenizer
- parent
- protected void expandEntity(Element parent, XMLTokenizer parentTokenizer, Token entityToken, Set<String> recursionTrap)
protected Node toNode(Token token)
Override this to implement custom node types.
public static Document parse(String xml)
In this case, the encoding is ignored; the string already has to be Unicode. After the parsing, you will still find the encoding from the XML declaration in the Document (if there was one).
public static Document parse(File file) throws IOException
IOException
Copyright © 2008–2014. All rights reserved.