Rupert  Beatty

Rupert Beatty

1666743420

Ono: A sensible way to deal with XML & HTML for iOS & macOS

Ono (斧)

Foundation lacks a convenient, cross-platform way to work with HTML and XML. NSXMLParser is an event-driven, SAX-style API that can be cumbersome to work with. NSXMLDocument, offers a more convenient DOM-style API, but is only supported on macOS.

Ono offers a sensible way to work with XML & HTML on Apple platforms in Objective-C and Swift

Whether your app needs to scrape a website, parse an RSS feed, or interface with a XML-RPC webservice, Ono will make your day a whole lot less terrible.

Ono (斧) means "axe", in homage to Nokogiri (鋸), which means "saw".

Features

  •  Simple, modern API following standard Objective-C conventions, including extensive use of blocks and NSFastEnumeration
  •  Extremely performant document parsing and traversal, powered by libxml2
  •  Support for both XPath and CSS queries
  •  Automatic conversion of date and number values
  •  Correct, common-sense handling of XML namespaces for elements and attributes
  •  Ability to load HTML and XML documents from either NSString or NSData
  •  Full documentation
  •  Comprehensive test suite

Installation

CocoaPods is the recommended method of installing Ono. Add the following line to your Podfile:

Podfile

pod 'Ono'

Usage

Swift

import Foundation
import Ono

guard let url = Bundle.main.url(forResource: "nutrition", withExtension: "xml"),
    let data = try? Data(contentsOf: url) else
{
    fatalError("Missing resource: nutrition.xml")
}

let document = try ONOXMLDocument(data: data)
document.rootElement.tag

for element in document.rootElement.children.first?.children ?? [] {
    let nutrient = element.tag
    let amount = element.numberValue!
    let unit = element.attributes["units"]!

    print("- \(amount)\(unit) \(nutrient)")
}

document.enumerateElements(withXPath: "//food/name") { (element, _, _) in
    print(element)
}

document.enumerateElements(withCSS: "food > serving[units]") { (element, _, _) in
    print(element)
}

Objective-C

#import "Ono.h"

NSData *data = ...;
NSError *error;

ONOXMLDocument *document = [ONOXMLDocument XMLDocumentWithData:data error:&error];
for (ONOXMLElement *element in document.rootElement.children) {
    NSLog(@"%@: %@", element.tag, element.attributes);
}

// Support for Namespaces
NSString *author = [[document.rootElement firstChildWithTag:@"creator" inNamespace:@"dc"] stringValue];

// Automatic Conversion for Number & Date Values
NSDate *date = [[document.rootElement firstChildWithTag:@"created_at"] dateValue]; // ISO 8601 Timestamp
NSInteger numberOfWords = [[[document.rootElement firstChildWithTag:@"word_count"] numberValue] integerValue];
BOOL isPublished = [[[document.rootElement firstChildWithTag:@"is_published"] numberValue] boolValue];

// Convenient Accessors for Attributes
NSString *unit = [document.rootElement firstChildWithTag:@"Length"][@"unit"];
NSDictionary *authorAttributes = [[document.rootElement firstChildWithTag:@"author"] attributes];

// Support for XPath & CSS Queries
[document enumerateElementsWithXPath:@"//Content" usingBlock:^(ONOXMLElement *element, NSUInteger idx, BOOL *stop) {
    NSLog(@"%@", element);
}];

Demo

Build and run the example project in Xcode to see Ono in action, or check out the provided Swift Playground.

Requirements

Ono is compatible with iOS 5 and higher, as well as macOS 10.7 and higher. It requires the libxml2 library, which is included automatically when installed with CocoaPods, or added manually by adding "libxml2.dylib" to the target's "Link Binary With Libraries" build phase.

Contact

Mattt

Download Details:

Author: mattt
Source Code: https://github.com/mattt/Ono 
License: MIT license

#swift #css #html #objective-c 

What is GEEK

Buddha Community

Ono: A sensible way to deal with XML & HTML for iOS & macOS
Rupert  Beatty

Rupert Beatty

1666743420

Ono: A sensible way to deal with XML & HTML for iOS & macOS

Ono (斧)

Foundation lacks a convenient, cross-platform way to work with HTML and XML. NSXMLParser is an event-driven, SAX-style API that can be cumbersome to work with. NSXMLDocument, offers a more convenient DOM-style API, but is only supported on macOS.

Ono offers a sensible way to work with XML & HTML on Apple platforms in Objective-C and Swift

Whether your app needs to scrape a website, parse an RSS feed, or interface with a XML-RPC webservice, Ono will make your day a whole lot less terrible.

Ono (斧) means "axe", in homage to Nokogiri (鋸), which means "saw".

Features

  •  Simple, modern API following standard Objective-C conventions, including extensive use of blocks and NSFastEnumeration
  •  Extremely performant document parsing and traversal, powered by libxml2
  •  Support for both XPath and CSS queries
  •  Automatic conversion of date and number values
  •  Correct, common-sense handling of XML namespaces for elements and attributes
  •  Ability to load HTML and XML documents from either NSString or NSData
  •  Full documentation
  •  Comprehensive test suite

Installation

CocoaPods is the recommended method of installing Ono. Add the following line to your Podfile:

Podfile

pod 'Ono'

Usage

Swift

import Foundation
import Ono

guard let url = Bundle.main.url(forResource: "nutrition", withExtension: "xml"),
    let data = try? Data(contentsOf: url) else
{
    fatalError("Missing resource: nutrition.xml")
}

let document = try ONOXMLDocument(data: data)
document.rootElement.tag

for element in document.rootElement.children.first?.children ?? [] {
    let nutrient = element.tag
    let amount = element.numberValue!
    let unit = element.attributes["units"]!

    print("- \(amount)\(unit) \(nutrient)")
}

document.enumerateElements(withXPath: "//food/name") { (element, _, _) in
    print(element)
}

document.enumerateElements(withCSS: "food > serving[units]") { (element, _, _) in
    print(element)
}

Objective-C

#import "Ono.h"

NSData *data = ...;
NSError *error;

ONOXMLDocument *document = [ONOXMLDocument XMLDocumentWithData:data error:&error];
for (ONOXMLElement *element in document.rootElement.children) {
    NSLog(@"%@: %@", element.tag, element.attributes);
}

// Support for Namespaces
NSString *author = [[document.rootElement firstChildWithTag:@"creator" inNamespace:@"dc"] stringValue];

// Automatic Conversion for Number & Date Values
NSDate *date = [[document.rootElement firstChildWithTag:@"created_at"] dateValue]; // ISO 8601 Timestamp
NSInteger numberOfWords = [[[document.rootElement firstChildWithTag:@"word_count"] numberValue] integerValue];
BOOL isPublished = [[[document.rootElement firstChildWithTag:@"is_published"] numberValue] boolValue];

// Convenient Accessors for Attributes
NSString *unit = [document.rootElement firstChildWithTag:@"Length"][@"unit"];
NSDictionary *authorAttributes = [[document.rootElement firstChildWithTag:@"author"] attributes];

// Support for XPath & CSS Queries
[document enumerateElementsWithXPath:@"//Content" usingBlock:^(ONOXMLElement *element, NSUInteger idx, BOOL *stop) {
    NSLog(@"%@", element);
}];

Demo

Build and run the example project in Xcode to see Ono in action, or check out the provided Swift Playground.

Requirements

Ono is compatible with iOS 5 and higher, as well as macOS 10.7 and higher. It requires the libxml2 library, which is included automatically when installed with CocoaPods, or added manually by adding "libxml2.dylib" to the target's "Link Binary With Libraries" build phase.

Contact

Mattt

Download Details:

Author: mattt
Source Code: https://github.com/mattt/Ono 
License: MIT license

#swift #css #html #objective-c 

Ava Watson

Ava Watson

1595318322

Know Everything About HTML With HTML Experts

HTML stands for a hypertext markup language. For the designs to be displayed in web browser HTML is the markup language. Technologies like Cascading style sheets (CSS) and scripting languages such as JavaScript assist HTML. With the help of HTML websites and the web, designs are created. Html has a wide range of academic applications. HTML has a series of elements. HTML helps to display web content. Its elements tell the web how to display the contents.

The document component of HTML is known as an HTML element. HTML element helps in displaying the web pages. An HTML document is a mixture of text nodes and HTML elements.

Basics of HTML are-

The simple fundamental components oh HTML is

  1. Head- the setup information for the program and web pages is carried in the head
  2. Body- the actual substance that is to be shown on the web page is carried in the body
  3. HTML- information starts and ends with and labels.
  4. Comments- come up in between

Html versions timeline

  1. HTML was created in 1990. Html is a program that is updated regularly. the timeline for the HTML versions is
  2. HTML 2- November, 1995
  3. HTML 3- January, 1997
  4. HTML 4- December, 1997; April, 1998; December, 1999; May, 2000
  5. HTML 5- October, 2014; November, 2016; December, 2017

HTML draft version timelines are

  1. October 1991
  2. June 1992
  3. November 1992
  4. June 1993
  5. November 1993
  6. November 1994
  7. April 1995
  8. January 2008
  9. HTML 5-
    2011, last call
    2012 candidate recommendation
    2014 proposed recommendation and recommendation

HTML helps in creating web pages. In web pages, there are texts, pictures, colouring schemes, tables, and a variety of other things. HTML allows all these on a web page.
There are a lot of attributes in HTML. It may get difficult to memorize these attributes. HTML is a tricky concept. Sometimes it gets difficult to find a single mistake that doesn’t let the web page function properly.

Many minor things are to be kept in mind in HTML. To complete an HTML assignment, it is always advisable to seek help from online experts. These experts are well trained and acknowledged with the subject. They provide quality content within the prescribed deadline. With several positive reviews, the online expert help for HTML assignment is highly recommended.

#html assignment help #html assignment writing help #online html assignment writing help #html assignment help service online #what is html #about html

Wasswa  Meagan

Wasswa Meagan

1619678404

HTML Vs XML: Difference Between HTML and XML [2021]

HTML’s full form is Hypertext Markup Language, while XML is an Extensible Markup Language. The purpose of HTML is to display data and focus on how the data looks. Therefore, HTML describes a web page’s structure and displays information, whereas XML structures, stores, and transfers information and describes what the data is.

In this article, HTML and XML shall be discussed in detail to understand the differences between them.

What is HTML?

Hypertext Markup Language (HTML) is a programming language that displays data and describes a web page’s structure. Hypertext facilitates browsing the web by referring to the hyperlinks an HTML page contains. The hyperlink enables one to go to any place on the internet by clicking it. There is no set order to do so.

Markup language points out to the way tags are used in defining the page layout and the elements within the page. It consists of various HTML elements comprising tags and their content. HTML language enables the creation of links of documents, is static, and can ignore small errors. In HTML, closing tags are not necessary. It can be defined as a markup language that makes the text more dynamic and interactive.

#software development #html #html vs xml #xml

Ssekidde  Nat

Ssekidde Nat

1619518500

HTML Vs XML: Difference Between HTML and XML [2021]

HTML’s full form is Hypertext Markup Language, while XML is an Extensible Markup Language. The purpose of HTML is to display data and focus on how the data looks. Therefore, HTML describes a web page’s structure and displays information, whereas XML structures, stores, and transfers information and describes what the data is.

One-Of-Its-Kind Program That Creates Skilled Software Developers. Apply Now!

In this article, HTML and XML shall be discussed in detail to understand the differences between them.

What is HTML?

Hypertext Markup Language (HTML) is a programming language that displays data and describes a web page’s structure. Hypertext facilitates browsing the web by referring to the hyperlinks an HTML page contains. The hyperlink enables one to go to any place on the internet by clicking it. There is no set order to do so.

Markup language points out to the way tags are used in defining the page layout and the elements within the page. It consists of various HTML elements comprising tags and their content. HTML language enables the creation of links of documents, is static, and can ignore small errors. In HTML, closing tags are not necessary. It can be defined as a markup language that makes the text more dynamic and interactive.

#software development #html #html vs xml #xml

Ssekidde  Nat

Ssekidde Nat

1620203018

HTML Vs XML: Difference Between HTML and XML [2021]

HTML’s full form is Hypertext Markup Language, while XML is an Extensible Markup Language. The purpose of HTML is to display data and focus on how the data looks. Therefore, HTML describes a web page’s structure and displays information, whereas XML structures, stores, and transfers information and describes what the data is.

In this article, HTML and XML shall be discussed in detail to understand the differences between them.

What is HTML?

Hypertext Markup Language (HTML) is a programming language that displays data and describes a web page’s structure. Hypertext facilitates browsing the web by referring to the hyperlinks an HTML page contains. The hyperlink enables one to go to any place on the internet by clicking it. There is no set order to do so.

What is XML?

Extensible Markup Language (XML) is a programming language created by the World Wide Web Consortium (W3C). XML facilitates encoding documents, defined by a set of rules, in a format that can be read by both humans and machines. By using tags, XML defines the document structure, how it should be stored and transported. It enables the creation of web applications and web pages and is a dynamic language that transports data. It’s often used as the basis for many other document formats, some of which are as follows.

#html #html vs xml #xml