CurryInfo: xml-3.0.0 / XmlConv.string

definition:
string :: XPrimConv String
string = Conv rd sh
 where
  rd childs = ("",childs)
            ? case elems of XText s : elems' -> (s,(attrs,elems'))
   where
    (attrs,elems) = childs

  sh "" childs = childs
  sh s@(_:_) childs = (attrs,XText s : elems)
   where
    (attrs,elems) = childs
demand:
no demanded arguments
deterministic:
possibly non-deterministic operation
documentation:
--- Creates an XML converter for string values. String values must not be
--- used in repetitions and do not represent XML elements.
---
--- @return String converter
failfree:
<FAILING>
indeterministic:
referentially transparent operation
infix:
no fixity defined
iotype:
{() |-> {Conv}}
name:
string
precedence:
no precedence defined
result-values:
{Conv}
signature:
XmlConv NotRepeatable NoElem String
solution-complete:
operation might suspend on free variables
terminating:
yes
totally-defined:
reducible on all ground data terms