Documentation ¶
Index ¶
- Constants
- Variables
- func DecodeEntities(str string) (string, error)
- func FindRoot(p *xpp.XMLPullParser) (event xpp.XMLEventType, err error)
- func IsExtension(p *xpp.XMLPullParser) bool
- func NewReaderLabel(label string, input io.Reader) (io.Reader, error)
- func NewXMLSanitizerReader(xml io.Reader) io.Reader
- func NextTag(p *xpp.XMLPullParser) (event xpp.XMLEventType, err error)
- func ParseDate(ds string) (t time.Time, err error)
- func ParseExtension(fe ext.Extensions, p *xpp.XMLPullParser) (ext.Extensions, error)
- func ParseNameAddress(nameAddressText string) (name string, address string)
- func ParseText(p *xpp.XMLPullParser) (string, error)
- func PrefixForNamespace(space string, p *xpp.XMLPullParser) string
- func ResolveHTML(base *url.URL, relHTML string) (string, error)
- func StripCDATA(str string) string
- func XmlBaseResolveUrl(b *url.URL, u string) (*url.URL, error)
Constants ¶
const CDATA_END = "]]>"
const CDATA_START = "<![CDATA["
Variables ¶
var ( TruncatedEntity = errors.New("truncated entity") InvalidNumericReference = errors.New("invalid numeric reference") )
Functions ¶
func DecodeEntities ¶
DecodeEntities decodes escaped XML entities in a string and returns the unescaped string
func FindRoot ¶
func FindRoot(p *xpp.XMLPullParser) (event xpp.XMLEventType, err error)
FindRoot iterates through the tokens of an xml document until it encounters its first StartTag event. It returns an error if it reaches EndDocument before finding a tag.
func IsExtension ¶
func IsExtension(p *xpp.XMLPullParser) bool
IsExtension returns whether or not the current XML element is an extension element (if it has a non empty prefix)
func NewXMLSanitizerReader ¶
NewXMLSanitizerReader creates an io.Reader that wraps another io.Reader and removes illegal xml characters from the io stream.
func NextTag ¶
func NextTag(p *xpp.XMLPullParser) (event xpp.XMLEventType, err error)
XMLBase.NextTag iterates through the tokens until it reaches a StartTag or EndTag. It resolves urls in tag attributes relative to the current xml:base.
NextTag is similar to goxpp's NextTag method except it wont throw an error if the next immediate token isnt a Start/EndTag. Instead, it will continue to consume tokens until it hits a Start/EndTag or EndDocument.
func ParseDate ¶
ParseDate parses a given date string using a large list of commonly found feed date formats.
func ParseExtension ¶
func ParseExtension(fe ext.Extensions, p *xpp.XMLPullParser) (ext.Extensions, error)
ParseExtension parses the current element of the XMLPullParser as an extension element and updates the extension map
func ParseNameAddress ¶
ParseNameAddress parses name/email strings commonly found in RSS feeds of the format "Example Name (example@site.com)" and other variations of this format.
func ParseText ¶
func ParseText(p *xpp.XMLPullParser) (string, error)
ParseText is a helper function for parsing the text from the current element of the XMLPullParser. This function can handle parsing naked XML text from an element.
func PrefixForNamespace ¶
func ResolveHTML ¶
Transforms html by resolving any relative URIs in attributes if an error occurs during parsing or serialization, then the original string is returned along with the error.
func StripCDATA ¶
StripCDATA removes CDATA tags from the string content outside of CDATA tags is passed via DecodeEntities
Types ¶
This section is empty.