Text.XML.Expat.Internal.Qualified

hexpat-0.19.5: XML parser/formatter based on expat

Text.XML.Expat.Internal.Qualified

Description

In the default representation, qualified tag and attribute names such as <abc:hello> are represented just as a string containing a colon, e.g. "abc:hello".

This module provides functionality to handle these more intelligently, splitting all tag and attribute names into their Prefix and LocalPart components.

Synopsis

- data QName text = QName {
  - qnPrefix :: Maybe text
  - qnLocalPart :: !text
  }
- type QAttributes text = Attributes (QName text) text
- mkQName :: text -> text -> QName text
- mkAnQName :: text -> QName text
- toQualified :: (NodeClass n c, GenericXMLString text) => n c text text -> n c (QName text) text
- fromQualified :: (NodeClass n c, GenericXMLString text) => n c (QName text) text -> n c text text

# Documentation

data QName text

A qualified name.

Qualified names have two parts, a prefix and a local part. The local part is the name of the tag. The prefix scopes that name to a particular group of legal tags.

The prefix will usually be associated with a namespace URI. This is usually achieved by using xmlns attributes to bind prefixes to URIs.

Constructors

QName |
Fields qnPrefix :: Maybe text qnLocalPart :: !text

Instances

Eq text => Eq (QName text) |
Show text => Show (QName text) |
NFData text => NFData (QName text) |

type QAttributes text = Attributes (QName text) text

Type shortcut for attributes with qualified names

mkQName :: text -> text -> QName text

Make a new QName from a prefix and localPart.

mkAnQName :: text -> QName text

Make a new QName with no prefix.

toQualified :: (NodeClass n c, GenericXMLString text) => n c text text -> n c (QName text) text

fromQualified :: (NodeClass n c, GenericXMLString text) => n c (QName text) text -> n c text text