Skip to content

Repository files navigation

FSharp.HTML

A parse for HTML5 based on the official W3C specification.

Usage

the html source text is:

<!DOCTYPE html><html><head><metacharset="utf-8"><title>My test page</title></head><body><imgsrc="images/firefox-icon.png" alt="My test image"></body></html>

we can use this code to parse html source to HtmlNode list:

letsourceText=<html>...</html>letnodes:HtmlNode list = HtmlUtils.parseDoc sourceText

doctype is a string that is extracted from doctype tag. and nodes is a HtmlNode list.

typeHtmlNode=| HtmlElement of
name: string *
attributes: list<string * string>*
elements: HtmlNode list
| HtmlComment ofstring| HtmlCData ofstring| HtmlText ofstring| HtmlDoctype ofstring| HtmlWS ofstring

All parsing processes in a package are public, and you are free to compose them to implement your functional requirements. Parser is highly configurable, see source code HtmlUtils

moduleFSharp.HTML.HtmlUtilsletparseDoc(txt:string)=
txt
|> HtmlCompiler.compileText
|> Whitespace.trimWhitespace
|> List.map CharacterReference.processCharRefs

API

The user can parse the string through the functions in the HtmlUtils module.

HtmlUtils

EncodeUtils

About

a parse for HTML5 based on the official W3C specification.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages