shared

package
v1.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 1, 2024 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const CDATA_END = "]]>"
View Source
const CDATA_START = "<![CDATA["

Variables

View Source
var (
	TruncatedEntity         = errors.New("truncated entity")
	InvalidNumericReference = errors.New("invalid numeric reference")
)

Functions

func DecodeEntities

func DecodeEntities(str string) (string, error)

DecodeEntities decodes escaped XML entities in a string and returns the unescaped string

func FindRoot added in v1.2.1

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 NewReaderLabel

func NewReaderLabel(label string, input io.Reader) (io.Reader, error)

func NewXMLSanitizerReader

func NewXMLSanitizerReader(xml io.Reader) io.Reader

NewXMLSanitizerReader creates an io.Reader that wraps another io.Reader and removes illegal xml characters from the io stream.

func NextTag added in v1.2.1

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

func ParseDate(ds string) (t time.Time, err error)

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

func ParseNameAddress(nameAddressText string) (name string, address string)

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 added in v1.3.0

func PrefixForNamespace(space string, p *xpp.XMLPullParser) string

func ResolveHTML added in v1.2.1

func ResolveHTML(base *url.URL, relHTML string) (string, error)

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

func StripCDATA(str string) string

StripCDATA removes CDATA tags from the string content outside of CDATA tags is passed via DecodeEntities

func XmlBaseResolveUrl added in v1.3.0

func XmlBaseResolveUrl(b *url.URL, u string) (*url.URL, error)

resolve u relative to b

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL