Swiftpack.co - YOCKOW/SwiftXHTML as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by YOCKOW.
YOCKOW/SwiftXHTML 2.7.1
XHTML parser/generator in Swift.
⭐️ 1
🕓 45 weeks ago
iOS macOS watchOS tvOS
.package(url: "https://github.com/YOCKOW/SwiftXHTML.git", from: "2.7.1")

What is SwiftXHTML?

SwiftXHTML will provide some functions related to XHTML.
It was originally written as a part of SwiftCGIResponder, and is intended to be used by it.

Requirements

  • Swift 5.1
  • macOS(>=10.15) or Linux

Dependencies

Dependencies

Usage

As a parser

import XHTML

let string = """
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Title</title>
  </head>
  <body>
    <div id="main">
      <h1>My Page</h1>
      <p>Welcome to my page.</p>
    </div>
  </body>
</html>
"""

let document = try Parser.parse(string.data(using: .utf8)!)

print(document.prolog.xmlVersion) // -> "1.0"
print(document.element(for: "main")!.name) // -> "div"

As a generator

import XHTML

let page = Document.template(title: "Title",
                             contents:[.text("It's my page.")])
print(page.xhtmlString)

/*
-- OUTPUT --
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Title</title></head><body>It&apos;s my page.</body></html>

*/

page.rootElement.body!.append(.comment("This is a comment."))
print(page.prettyXHTMLString)

/*
-- OUTPUT --
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
    <head><title>Title</title></head>
    <body>
        It&apos;s my page.
        <!--This is a comment.-->
    </body>
</html>

*/

What are not supported yet...

  • XPath
  • CSS selector
  • CSS parser

License

MIT License.
See "LICENSE.txt" for more information.

GitHub

link
Stars: 1
Last commit: 45 weeks ago
Advertisement: IndiePitcher.com - Cold Email Software for Startups

Release Notes

Release v2.7.0.
45 weeks ago

What's Changed

Full Changelog: https://github.com/YOCKOW/SwiftXHTML/compare/2.6.0...2.7.0

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics