xml-tydom-core-0.1.0.0: Typed XML encoding (core library).

Copyright(c) Jonathan Merritt 2017
LicenseBSD3
Maintainerj.s.merritt@gmail.com
StabilityExperimental
PortabilityPOSIX
Safe HaskellNone
LanguageHaskell2010

Text.XML.TyDom.Core.Generics.ToElem

Description

 

Synopsis

Documentation

class GToElem e n a t z Source #

Class for generically converting a type to an element.

Minimal complete definition

gToElem

Instances

GToElem e n a t U1 Source #

U1 - no-argument constructor.

Methods

gToElem :: OptionsElement n a -> Compose e n a t c -> U1 r -> c -> c

ToElem e z => GToElem e n a t (S1 q (Rec0 [z])) Source #

S1 (named or unnamed) + [z] - record selector for a list of ToElem child nodes.

Methods

gToElem :: OptionsElement n a -> Compose e n a t c -> S1 q (Rec0 [z]) r -> c -> c

ToElem e z => GToElem e n a t (S1 q (Rec0 (Maybe z))) Source #

S1 (named or unnamed) + Maybe z - record selector for a ToElem child.

Methods

gToElem :: OptionsElement n a -> Compose e n a t c -> S1 q (Rec0 (Maybe z)) r -> c -> c

ToElem e z => GToElem e n a t (S1 q (Rec0 z)) Source #

S1 (named or unnamed) - record selector for a ToElem child.

Methods

gToElem :: OptionsElement n a -> Compose e n a t c -> S1 q (Rec0 z) r -> c -> c

ToXText t z => GToElem e n a t (S1 q (Rec0 (CData [z]))) Source #

S1 (named or unnamed) + [CData] - record selector for a list of CDATA child nodes.

Methods

gToElem :: OptionsElement n a -> Compose e n a t c -> S1 q (Rec0 (CData [z])) r -> c -> c

ToXText t z => GToElem e n a t (S1 q (Rec0 (CData (Maybe z)))) Source #

S1 (named or unnamed) + CData Maybe - record selector for an optional CDATA child node.

Methods

gToElem :: OptionsElement n a -> Compose e n a t c -> S1 q (Rec0 (CData (Maybe z))) r -> c -> c

ToXText t z => GToElem e n a t (S1 q (Rec0 (CData z))) Source #

S1 (named or unnamed) + CData - record selector for a CDATA child node.

Methods

gToElem :: OptionsElement n a -> Compose e n a t c -> S1 q (Rec0 (CData z)) r -> c -> c

ToXText t z => GToElem e n a t (S1 q (Rec0 (Content (Maybe z)))) Source #

S1 (named or unnamed) + Content Maybe - record selector for an optional content node.

Methods

gToElem :: OptionsElement n a -> Compose e n a t c -> S1 q (Rec0 (Content (Maybe z))) r -> c -> c

ToXText t z => GToElem e n a t (S1 q (Rec0 (Content z))) Source #

S1 (named or unnamed) + Content - record selector for a content node.

Methods

gToElem :: OptionsElement n a -> Compose e n a t c -> S1 q (Rec0 (Content z)) r -> c -> c

(KnownSymbol name, ToXText t z) => GToElem e n a t (S1 (MetaSel (Just Symbol name) g h i) (Rec0 (Child [z]))) Source #

S1 (named) + [Child] - record selector for a list of simple child elements with text.

Methods

gToElem :: OptionsElement n a -> Compose e n a t c -> S1 (MetaSel (Just Symbol name) g h i) (Rec0 (Child [z])) r -> c -> c

(KnownSymbol name, ToXText t z) => GToElem e n a t (S1 (MetaSel (Just Symbol name) g h i) (Rec0 (Child (Maybe z)))) Source #

S1 (named) + Child Maybe - record selector for an optional simple child element with text.

Methods

gToElem :: OptionsElement n a -> Compose e n a t c -> S1 (MetaSel (Just Symbol name) g h i) (Rec0 (Child (Maybe z))) r -> c -> c

(KnownSymbol name, ToXText t z) => GToElem e n a t (S1 (MetaSel (Just Symbol name) g h i) (Rec0 (Child z))) Source #

S1 (named) + Child - record selector for a simple child element with text.

Methods

gToElem :: OptionsElement n a -> Compose e n a t c -> S1 (MetaSel (Just Symbol name) g h i) (Rec0 (Child z)) r -> c -> c

(KnownSymbol name, ToXText t z) => GToElem e n a t (S1 (MetaSel (Just Symbol name) g h i) (Rec0 (Attr (Maybe z)))) Source #

S1 (named) + Attr Maybe - record selector for optional XML attribute.

Methods

gToElem :: OptionsElement n a -> Compose e n a t c -> S1 (MetaSel (Just Symbol name) g h i) (Rec0 (Attr (Maybe z))) r -> c -> c

(KnownSymbol name, ToXText t z) => GToElem e n a t (S1 (MetaSel (Just Symbol name) g h i) (Rec0 (Attr z))) Source #

S1 (named) + Attr - record selector for an XML attribute.

Methods

gToElem :: OptionsElement n a -> Compose e n a t c -> S1 (MetaSel (Just Symbol name) g h i) (Rec0 (Attr z)) r -> c -> c

(GToElem e n a t z1, GToElem e n a t z2) => GToElem e n a t ((:+:) z1 z2) Source #

Sum type (ie. multiple constructors).

Methods

gToElem :: OptionsElement n a -> Compose e n a t c -> (z1 :+: z2) r -> c -> c

(GToElem e n a t z1, GToElem e n a t z2) => GToElem e n a t ((:*:) z1 z2) Source #

Product type (ie. multiple fields).

Methods

gToElem :: OptionsElement n a -> Compose e n a t c -> (z1 :*: z2) r -> c -> c

(KnownSymbol name, GToElem e n a t z) => GToElem e n a t (C1 (MetaCons name q w) z) Source #

C1 - constructor.

The name of the element is obtained from the constructor name.

Methods

gToElem :: OptionsElement n a -> Compose e n a t c -> C1 (MetaCons name q w) z r -> c -> c

(KnownSymbol name, ToElem e z) => GToElem e n a t (D1 (MetaData g h i True) (C1 (MetaCons name q w) (S1 s (Rec0 z)))) Source #

Newtype.

A newtype should be processed in the same way as the type it wraps, but the name of the element must be changed at the end.

Methods

gToElem :: OptionsElement n a -> Compose e n a t c -> D1 (MetaData g h i True) (C1 (MetaCons name q w) (S1 s (Rec0 z))) r -> c -> c

GToElem e n a t z => GToElem e n a t (D1 (MetaData g h i False) z) Source #

D1 - Datatype (non-newtype).

When we encounter a Datatype, just proceed directly to processing its contents, without any additional handling.

Methods

gToElem :: OptionsElement n a -> Compose e n a t c -> D1 (MetaData g h i False) z r -> c -> c

genericToElem :: (Generic z, GToElem e n a t (Rep z)) => OptionsElement n a -> Compose e n a t c -> z -> e Source #

Generic producer for a ToElem instance.