package xml
import "github.com/tdewolff/parse/v2/xml"
Package xml is an XML1.0 lexer following the specifications at http://www.w3.org/TR/xml/.
Index ¶
- Variables
- func EscapeAttrVal(buf *[]byte, b []byte) []byte
- func EscapeCDATAVal(buf *[]byte, b []byte) ([]byte, bool)
- type Lexer
- func NewLexer(r io.Reader) *Lexer
- func (l *Lexer) AttrVal() []byte
- func (l *Lexer) Err() error
- func (l *Lexer) Next() (TokenType, []byte)
- func (l *Lexer) Offset() int
- func (l *Lexer) Restore()
- func (l *Lexer) Text() []byte
- type TokenType
Examples ¶
Variables ¶
var EntitiesMap = map[string][]byte{ "apos": []byte("'"), "gt": []byte(">"), "quot": []byte("\""), }
Entities are all named character entities.
Functions ¶
func EscapeAttrVal ¶
EscapeAttrVal returns the escape attribute value bytes without quotes.
func EscapeCDATAVal ¶
EscapeCDATAVal returns the escaped text bytes.
Types ¶
type Lexer ¶
type Lexer struct {
// contains filtered or unexported fields
}
Lexer is the state for the lexer.
func NewLexer ¶
NewLexer returns a new Lexer for a given io.Reader.
Code:
Output:Example¶
{
l := NewLexer(bytes.NewBufferString("<span class='user'>John Doe</span>"))
out := ""
for {
tt, data := l.Next()
if tt == ErrorToken {
break
}
out += string(data)
}
fmt.Println(out)
// Output: <span class='user'>John Doe</span>
}
<span class='user'>John Doe</span>
func (*Lexer) AttrVal ¶
AttrVal returns the attribute value when an AttributeToken was returned from Next.
func (*Lexer) Err ¶
Err returns the error encountered during lexing, this is often io.EOF but also other errors can be returned.
func (*Lexer) Next ¶
Next returns the next Token. It returns ErrorToken when an error was encountered. Using Err() one can retrieve the error message.
func (*Lexer) Offset ¶
Offset returns the current position in the input stream.
func (*Lexer) Restore ¶
func (l *Lexer) Restore()
Restore restores the NULL byte at the end of the buffer.
func (*Lexer) Text ¶
Text returns the textual representation of a token. This excludes delimiters and additional leading/trailing characters.
type TokenType ¶
type TokenType uint32
TokenType determines the type of token, eg. a number or a semicolon.
const ( ErrorToken TokenType = iota // extra token when errors occur CommentToken DOCTYPEToken CDATAToken StartTagToken StartTagPIToken StartTagCloseToken StartTagCloseVoidToken StartTagClosePIToken EndTagToken AttributeToken TextToken )
TokenType values.
func (TokenType) String ¶
String returns the string representation of a TokenType.
Source Files ¶
- Version
- v2.4.2
- Published
- Dec 17, 2019
- Platform
- windows/amd64
- Imports
- 4 packages
- Last checked
- 20 seconds ago –
Tools for package owners.