hxt-9.3.1.16: A collection of tools for processing XML with Haskell.

CopyrightCopyright (C) 2011 Uwe Schmidt
LicenseMIT
MaintainerUwe Schmidt (uwe@fh-wedel.de)
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell98

Text.XML.HXT.Arrow.XmlArrow

Description

Basic arrows for processing XML documents

All arrows use IO and a global state for options, errorhandling, ...

Synopsis

Documentation

class (Arrow a, ArrowList a, ArrowTree a) => ArrowXml a where Source #

Arrows for processing XmlTrees

These arrows can be grouped into predicates, selectors, constructors, and transformers.

All predicates (tests) act like none for failure and this for success. A logical and can be formed by a1 >>> a2 , a locical or by a1 <+> a2 .

Selector arrows will fail, when applied to wrong input, e.g. selecting the text of a node with getText will fail when applied to a none text node.

Edit arrows will remain the input unchanged, when applied to wrong argument, e.g. editing the content of a text node with changeText applied to an element node will return the unchanged element node.

Methods

isText :: a XmlTree XmlTree Source #

test for text nodes

isBlob :: a XmlTree XmlTree Source #

isCharRef :: a XmlTree XmlTree Source #

test for char reference, used during parsing

isEntityRef :: a XmlTree XmlTree Source #

test for entity reference, used during parsing

isCmt :: a XmlTree XmlTree Source #

test for comment

isCdata :: a XmlTree XmlTree Source #

test for CDATA section, used during parsing

isPi :: a XmlTree XmlTree Source #

test for processing instruction

isXmlPi :: a XmlTree XmlTree Source #

test for processing instruction <?xml ...>

isElem :: a XmlTree XmlTree Source #

test for element

isDTD :: a XmlTree XmlTree Source #

test for DTD part, used during parsing

isAttr :: a XmlTree XmlTree Source #

test for attribute tree

isError :: a XmlTree XmlTree Source #

test for error message

isRoot :: a XmlTree XmlTree Source #

test for root node (element with name "/")

hasText :: (String -> Bool) -> a XmlTree XmlTree Source #

test for text nodes with text, for which a predicate holds

example: hasText (all (`elem` " \t\n")) check for text nodes with only whitespace content

isWhiteSpace :: a XmlTree XmlTree Source #

test for text nodes with only white space

implemented with hasTest

hasNameWith :: (QName -> Bool) -> a XmlTree XmlTree Source #

test whether a node (element, attribute, pi) has a name with a special property

hasQName :: QName -> a XmlTree XmlTree Source #

test whether a node (element, attribute, pi) has a specific qualified name useful only after namespace propagation

hasName :: String -> a XmlTree XmlTree Source #

test whether a node has a specific name (prefix:localPart or localPart), generally useful, even without namespace handling

hasLocalPart :: String -> a XmlTree XmlTree Source #

test whether a node has a specific name as local part, useful only after namespace propagation

hasNamePrefix :: String -> a XmlTree XmlTree Source #

test whether a node has a specific name prefix, useful only after namespace propagation

hasNamespaceUri :: String -> a XmlTree XmlTree Source #

test whether a node has a specific namespace URI useful only after namespace propagation

hasAttr :: String -> a XmlTree XmlTree Source #

test whether an element node has an attribute node with a specific name

hasQAttr :: QName -> a XmlTree XmlTree Source #

test whether an element node has an attribute node with a specific qualified name

hasAttrValue :: String -> (String -> Bool) -> a XmlTree XmlTree Source #

test whether an element node has an attribute with a specific value

hasQAttrValue :: QName -> (String -> Bool) -> a XmlTree XmlTree Source #

test whether an element node has an attribute with a qualified name and a specific value

mkText :: a String XmlTree Source #

text node construction arrow

mkBlob :: a Blob XmlTree Source #

blob node construction arrow

mkCharRef :: a Int XmlTree Source #

char reference construction arrow, useful for document output

mkEntityRef :: a String XmlTree Source #

entity reference construction arrow, useful for document output

mkCmt :: a String XmlTree Source #

comment node construction, useful for document output

mkCdata :: a String XmlTree Source #

CDATA construction, useful for document output

mkError :: Int -> a String XmlTree Source #

error node construction, useful only internally

mkElement :: QName -> a n XmlTree -> a n XmlTree -> a n XmlTree Source #

element construction: | the attributes and the content of the element are computed by applying arrows to the input

mkAttr :: QName -> a n XmlTree -> a n XmlTree Source #

attribute node construction: | the attribute value is computed by applying an arrow to the input

mkPi :: QName -> a n XmlTree -> a n XmlTree Source #

processing instruction construction: | the content of the processing instruction is computed by applying an arrow to the input

mkqelem :: QName -> [a n XmlTree] -> [a n XmlTree] -> a n XmlTree Source #

convenient arrow for element construction, more comfortable variant of mkElement

example for simplifying mkElement :

mkElement qn (a1 <+> ... <+> ai) (c1 <+> ... <+> cj)

equals

mkqelem qn [a1,...,ai] [c1,...,cj]

mkelem :: String -> [a n XmlTree] -> [a n XmlTree] -> a n XmlTree Source #

convenient arrow for element construction with strings instead of qualified names as element names, see also mkElement and mkelem

aelem :: String -> [a n XmlTree] -> a n XmlTree Source #

convenient arrow for element constrution with attributes but without content, simple variant of mkelem and mkElement

selem :: String -> [a n XmlTree] -> a n XmlTree Source #

convenient arrow for simple element constrution without attributes, simple variant of mkelem and mkElement

eelem :: String -> a n XmlTree Source #

convenient arrow for constrution of empty elements without attributes, simple variant of mkelem and mkElement

root :: [a n XmlTree] -> [a n XmlTree] -> a n XmlTree Source #

construction of an element node with name "/" for document roots

qattr :: QName -> a n XmlTree -> a n XmlTree Source #

alias for mkAttr

attr :: String -> a n XmlTree -> a n XmlTree Source #

convenient arrow for attribute constrution, simple variant of mkAttr

txt :: String -> a n XmlTree Source #

constant arrow for text nodes

blb :: Blob -> a n XmlTree Source #

constant arrow for blob nodes

charRef :: Int -> a n XmlTree Source #

constant arrow for char reference nodes

entityRef :: String -> a n XmlTree Source #

constant arrow for entity reference nodes

cmt :: String -> a n XmlTree Source #

constant arrow for comment

warn :: String -> a n XmlTree Source #

constant arrow for warning

err :: String -> a n XmlTree Source #

constant arrow for errors

fatal :: String -> a n XmlTree Source #

constant arrow for fatal errors

spi :: String -> String -> a n XmlTree Source #

constant arrow for simple processing instructions, see mkPi

sqattr :: QName -> String -> a n XmlTree Source #

constant arrow for attribute nodes, attribute name is a qualified name and value is a text, | see also mkAttr, qattr, attr

sattr :: String -> String -> a n XmlTree Source #

constant arrow for attribute nodes, attribute name and value are | given by parameters, see mkAttr

getText :: a XmlTree String Source #

select the text of a text node

getCharRef :: a XmlTree Int Source #

select the value of a char reference

getEntityRef :: a XmlTree String Source #

select the name of a entity reference node

getCmt :: a XmlTree String Source #

select the comment of a comment node

getCdata :: a XmlTree String Source #

select the content of a CDATA node

getPiName :: a XmlTree QName Source #

select the name of a processing instruction

getPiContent :: a XmlTree XmlTree Source #

select the content of a processing instruction

getElemName :: a XmlTree QName Source #

select the name of an element node

getAttrl :: a XmlTree XmlTree Source #

select the attribute list of an element node

getDTDPart :: a XmlTree DTDElem Source #

select the DTD type of a DTD node

getDTDAttrl :: a XmlTree Attributes Source #

select the DTD attributes of a DTD node

getAttrName :: a XmlTree QName Source #

select the name of an attribute

getErrorLevel :: a XmlTree Int Source #

select the error level (c_warn, c_err, c_fatal) from an error node

getErrorMsg :: a XmlTree String Source #

select the error message from an error node

getQName :: a XmlTree QName Source #

select the qualified name from an element, attribute or pi

getName :: a XmlTree String Source #

select the prefix:localPart or localPart from an element, attribute or pi

getUniversalName :: a XmlTree String Source #

select the univeral name ({namespace URI} ++ localPart)

getUniversalUri :: a XmlTree String Source #

select the univeral name (namespace URI ++ localPart)

getLocalPart :: a XmlTree String Source #

select the local part

getNamePrefix :: a XmlTree String Source #

select the name prefix

getNamespaceUri :: a XmlTree String Source #

select the namespace URI

getAttrValue :: String -> a XmlTree String Source #

select the value of an attribute of an element node, always succeeds with empty string as default value ""

getAttrValue0 :: String -> a XmlTree String Source #

like getAttrValue, but fails if the attribute does not exist

getQAttrValue :: QName -> a XmlTree String Source #

like getAttrValue, but select the value of an attribute given by a qualified name, always succeeds with empty string as default value ""

getQAttrValue0 :: QName -> a XmlTree String Source #

like getQAttrValue, but fails if attribute does not exist

changeText :: (String -> String) -> a XmlTree XmlTree Source #

edit the string of a text node

changeBlob :: (Blob -> Blob) -> a XmlTree XmlTree Source #

edit the blob of a blob node

changeCmt :: (String -> String) -> a XmlTree XmlTree Source #

edit the comment string of a comment node

changeQName :: (QName -> QName) -> a XmlTree XmlTree Source #

edit an element-, attribute- or pi- name

changeElemName :: (QName -> QName) -> a XmlTree XmlTree Source #

edit an element name

changeAttrName :: (QName -> QName) -> a XmlTree XmlTree Source #

edit an attribute name

changePiName :: (QName -> QName) -> a XmlTree XmlTree Source #

edit a pi name

changeAttrValue :: (String -> String) -> a XmlTree XmlTree Source #

edit an attribute value

changeAttrl :: (XmlTrees -> XmlTrees -> XmlTrees) -> a XmlTree XmlTree -> a XmlTree XmlTree Source #

edit an attribute list of an element node

setQName :: QName -> a XmlTree XmlTree Source #

replace an element, attribute or pi name

setElemName :: QName -> a XmlTree XmlTree Source #

replace an element name

setAttrName :: QName -> a XmlTree XmlTree Source #

replace an attribute name

setPiName :: QName -> a XmlTree XmlTree Source #

replace an element name

setAttrl :: a XmlTree XmlTree -> a XmlTree XmlTree Source #

replace an atribute list of an element node

addAttrl :: a XmlTree XmlTree -> a XmlTree XmlTree Source #

add a list of attributes to an element

addAttr :: String -> String -> a XmlTree XmlTree Source #

add (or replace) an attribute

removeAttr :: String -> a XmlTree XmlTree Source #

remove an attribute

removeQAttr :: QName -> a XmlTree XmlTree Source #

remove an attribute with a qualified name

processAttrl :: a XmlTree XmlTree -> a XmlTree XmlTree Source #

process the attributes of an element node with an arrow

processTopDownWithAttrl :: a XmlTree XmlTree -> a XmlTree XmlTree Source #

process a whole tree inclusive attribute list of element nodes see also: processTopDown

(+=) :: a b XmlTree -> a b XmlTree -> a b XmlTree infixl 7 Source #

convenient op for adding attributes or children to a node

usage: tf += cf

the tf arrow computes an element node, and all trees computed by cf are added to this node, if a tree is an attribute, it is inserted in the attribute list else it is appended to the content list.

attention: do not build long content list this way because += is implemented by ++

examples:

eelem "a"
  += sattr "href" "page.html"
  += sattr "name" "here"
  += txt "look here"

is the same as

mkelem [ sattr "href" "page.html"
       , sattr "name" "here"
       ]
       [ txt "look here" ]

and results in the XML fragment: <a href="page.html" name="here">look here</a>

advantage of the += operator is, that attributes and content can be added any time step by step. if tf computes a whole list of trees, e.g. a list of "td" or "tr" elements, the attributes or content is added to all trees. useful for adding "class" or "style" attributes to table elements.

xshow :: a n XmlTree -> a n String Source #

apply an arrow to the input and convert the resulting XML trees into a string representation

xshowBlob :: a n XmlTree -> a n Blob Source #

apply an arrow to the input and convert the resulting XML trees into a string representation

Instances

ArrowXml LA Source # 

Methods

isText :: LA XmlTree XmlTree Source #

isBlob :: LA XmlTree XmlTree Source #

isCharRef :: LA XmlTree XmlTree Source #

isEntityRef :: LA XmlTree XmlTree Source #

isCmt :: LA XmlTree XmlTree Source #

isCdata :: LA XmlTree XmlTree Source #

isPi :: LA XmlTree XmlTree Source #

isXmlPi :: LA XmlTree XmlTree Source #

isElem :: LA XmlTree XmlTree Source #

isDTD :: LA XmlTree XmlTree Source #

isAttr :: LA XmlTree XmlTree Source #

isError :: LA XmlTree XmlTree Source #

isRoot :: LA XmlTree XmlTree Source #

hasText :: (String -> Bool) -> LA XmlTree XmlTree Source #

isWhiteSpace :: LA XmlTree XmlTree Source #

hasNameWith :: (QName -> Bool) -> LA XmlTree XmlTree Source #

hasQName :: QName -> LA XmlTree XmlTree Source #

hasName :: String -> LA XmlTree XmlTree Source #

hasLocalPart :: String -> LA XmlTree XmlTree Source #

hasNamePrefix :: String -> LA XmlTree XmlTree Source #

hasNamespaceUri :: String -> LA XmlTree XmlTree Source #

hasAttr :: String -> LA XmlTree XmlTree Source #

hasQAttr :: QName -> LA XmlTree XmlTree Source #

hasAttrValue :: String -> (String -> Bool) -> LA XmlTree XmlTree Source #

hasQAttrValue :: QName -> (String -> Bool) -> LA XmlTree XmlTree Source #

mkText :: LA String XmlTree Source #

mkBlob :: LA Blob XmlTree Source #

mkCharRef :: LA Int XmlTree Source #

mkEntityRef :: LA String XmlTree Source #

mkCmt :: LA String XmlTree Source #

mkCdata :: LA String XmlTree Source #

mkError :: Int -> LA String XmlTree Source #

mkElement :: QName -> LA n XmlTree -> LA n XmlTree -> LA n XmlTree Source #

mkAttr :: QName -> LA n XmlTree -> LA n XmlTree Source #

mkPi :: QName -> LA n XmlTree -> LA n XmlTree Source #

mkqelem :: QName -> [LA n XmlTree] -> [LA n XmlTree] -> LA n XmlTree Source #

mkelem :: String -> [LA n XmlTree] -> [LA n XmlTree] -> LA n XmlTree Source #

aelem :: String -> [LA n XmlTree] -> LA n XmlTree Source #

selem :: String -> [LA n XmlTree] -> LA n XmlTree Source #

eelem :: String -> LA n XmlTree Source #

root :: [LA n XmlTree] -> [LA n XmlTree] -> LA n XmlTree Source #

qattr :: QName -> LA n XmlTree -> LA n XmlTree Source #

attr :: String -> LA n XmlTree -> LA n XmlTree Source #

txt :: String -> LA n XmlTree Source #

blb :: Blob -> LA n XmlTree Source #

charRef :: Int -> LA n XmlTree Source #

entityRef :: String -> LA n XmlTree Source #

cmt :: String -> LA n XmlTree Source #

warn :: String -> LA n XmlTree Source #

err :: String -> LA n XmlTree Source #

fatal :: String -> LA n XmlTree Source #

spi :: String -> String -> LA n XmlTree Source #

sqattr :: QName -> String -> LA n XmlTree Source #

sattr :: String -> String -> LA n XmlTree Source #

getText :: LA XmlTree String Source #

getCharRef :: LA XmlTree Int Source #

getEntityRef :: LA XmlTree String Source #

getCmt :: LA XmlTree String Source #

getCdata :: LA XmlTree String Source #

getPiName :: LA XmlTree QName Source #

getPiContent :: LA XmlTree XmlTree Source #

getElemName :: LA XmlTree QName Source #

getAttrl :: LA XmlTree XmlTree Source #

getDTDPart :: LA XmlTree DTDElem Source #

getDTDAttrl :: LA XmlTree Attributes Source #

getAttrName :: LA XmlTree QName Source #

getErrorLevel :: LA XmlTree Int Source #

getErrorMsg :: LA XmlTree String Source #

getQName :: LA XmlTree QName Source #

getName :: LA XmlTree String Source #

getUniversalName :: LA XmlTree String Source #

getUniversalUri :: LA XmlTree String Source #

getLocalPart :: LA XmlTree String Source #

getNamePrefix :: LA XmlTree String Source #

getNamespaceUri :: LA XmlTree String Source #

getAttrValue :: String -> LA XmlTree String Source #

getAttrValue0 :: String -> LA XmlTree String Source #

getQAttrValue :: QName -> LA XmlTree String Source #

getQAttrValue0 :: QName -> LA XmlTree String Source #

changeText :: (String -> String) -> LA XmlTree XmlTree Source #

changeBlob :: (Blob -> Blob) -> LA XmlTree XmlTree Source #

changeCmt :: (String -> String) -> LA XmlTree XmlTree Source #

changeQName :: (QName -> QName) -> LA XmlTree XmlTree Source #

changeElemName :: (QName -> QName) -> LA XmlTree XmlTree Source #

changeAttrName :: (QName -> QName) -> LA XmlTree XmlTree Source #

changePiName :: (QName -> QName) -> LA XmlTree XmlTree Source #

changeAttrValue :: (String -> String) -> LA XmlTree XmlTree Source #

changeAttrl :: (XmlTrees -> XmlTrees -> XmlTrees) -> LA XmlTree XmlTree -> LA XmlTree XmlTree Source #

setQName :: QName -> LA XmlTree XmlTree Source #

setElemName :: QName -> LA XmlTree XmlTree Source #

setAttrName :: QName -> LA XmlTree XmlTree Source #

setPiName :: QName -> LA XmlTree XmlTree Source #

setAttrl :: LA XmlTree XmlTree -> LA XmlTree XmlTree Source #

addAttrl :: LA XmlTree XmlTree -> LA XmlTree XmlTree Source #

addAttr :: String -> String -> LA XmlTree XmlTree Source #

removeAttr :: String -> LA XmlTree XmlTree Source #

removeQAttr :: QName -> LA XmlTree XmlTree Source #

processAttrl :: LA XmlTree XmlTree -> LA XmlTree XmlTree Source #

processTopDownWithAttrl :: LA XmlTree XmlTree -> LA XmlTree XmlTree Source #

(+=) :: LA b XmlTree -> LA b XmlTree -> LA b XmlTree Source #

xshow :: LA n XmlTree -> LA n String Source #

xshowBlob :: LA n XmlTree -> LA n Blob Source #

ArrowXml IOLA Source # 

Methods

isText :: IOLA XmlTree XmlTree Source #

isBlob :: IOLA XmlTree XmlTree Source #

isCharRef :: IOLA XmlTree XmlTree Source #

isEntityRef :: IOLA XmlTree XmlTree Source #

isCmt :: IOLA XmlTree XmlTree Source #

isCdata :: IOLA XmlTree XmlTree Source #

isPi :: IOLA XmlTree XmlTree Source #

isXmlPi :: IOLA XmlTree XmlTree Source #

isElem :: IOLA XmlTree XmlTree Source #

isDTD :: IOLA XmlTree XmlTree Source #

isAttr :: IOLA XmlTree XmlTree Source #

isError :: IOLA XmlTree XmlTree Source #

isRoot :: IOLA XmlTree XmlTree Source #

hasText :: (String -> Bool) -> IOLA XmlTree XmlTree Source #

isWhiteSpace :: IOLA XmlTree XmlTree Source #

hasNameWith :: (QName -> Bool) -> IOLA XmlTree XmlTree Source #

hasQName :: QName -> IOLA XmlTree XmlTree Source #

hasName :: String -> IOLA XmlTree XmlTree Source #

hasLocalPart :: String -> IOLA XmlTree XmlTree Source #

hasNamePrefix :: String -> IOLA XmlTree XmlTree Source #

hasNamespaceUri :: String -> IOLA XmlTree XmlTree Source #

hasAttr :: String -> IOLA XmlTree XmlTree Source #

hasQAttr :: QName -> IOLA XmlTree XmlTree Source #

hasAttrValue :: String -> (String -> Bool) -> IOLA XmlTree XmlTree Source #

hasQAttrValue :: QName -> (String -> Bool) -> IOLA XmlTree XmlTree Source #

mkText :: IOLA String XmlTree Source #

mkBlob :: IOLA Blob XmlTree Source #

mkCharRef :: IOLA Int XmlTree Source #

mkEntityRef :: IOLA String XmlTree Source #

mkCmt :: IOLA String XmlTree Source #

mkCdata :: IOLA String XmlTree Source #

mkError :: Int -> IOLA String XmlTree Source #

mkElement :: QName -> IOLA n XmlTree -> IOLA n XmlTree -> IOLA n XmlTree Source #

mkAttr :: QName -> IOLA n XmlTree -> IOLA n XmlTree Source #

mkPi :: QName -> IOLA n XmlTree -> IOLA n XmlTree Source #

mkqelem :: QName -> [IOLA n XmlTree] -> [IOLA n XmlTree] -> IOLA n XmlTree Source #

mkelem :: String -> [IOLA n XmlTree] -> [IOLA n XmlTree] -> IOLA n XmlTree Source #

aelem :: String -> [IOLA n XmlTree] -> IOLA n XmlTree Source #

selem :: String -> [IOLA n XmlTree] -> IOLA n XmlTree Source #

eelem :: String -> IOLA n XmlTree Source #

root :: [IOLA n XmlTree] -> [IOLA n XmlTree] -> IOLA n XmlTree Source #

qattr :: QName -> IOLA n XmlTree -> IOLA n XmlTree Source #

attr :: String -> IOLA n XmlTree -> IOLA n XmlTree Source #

txt :: String -> IOLA n XmlTree Source #

blb :: Blob -> IOLA n XmlTree Source #

charRef :: Int -> IOLA n XmlTree Source #

entityRef :: String -> IOLA n XmlTree Source #

cmt :: String -> IOLA n XmlTree Source #

warn :: String -> IOLA n XmlTree Source #

err :: String -> IOLA n XmlTree Source #

fatal :: String -> IOLA n XmlTree Source #

spi :: String -> String -> IOLA n XmlTree Source #

sqattr :: QName -> String -> IOLA n XmlTree Source #

sattr :: String -> String -> IOLA n XmlTree Source #

getText :: IOLA XmlTree String Source #

getCharRef :: IOLA XmlTree Int Source #

getEntityRef :: IOLA XmlTree String Source #

getCmt :: IOLA XmlTree String Source #

getCdata :: IOLA XmlTree String Source #

getPiName :: IOLA XmlTree QName Source #

getPiContent :: IOLA XmlTree XmlTree Source #

getElemName :: IOLA XmlTree QName Source #

getAttrl :: IOLA XmlTree XmlTree Source #

getDTDPart :: IOLA XmlTree DTDElem Source #

getDTDAttrl :: IOLA XmlTree Attributes Source #

getAttrName :: IOLA XmlTree QName Source #

getErrorLevel :: IOLA XmlTree Int Source #

getErrorMsg :: IOLA XmlTree String Source #

getQName :: IOLA XmlTree QName Source #

getName :: IOLA XmlTree String Source #

getUniversalName :: IOLA XmlTree String Source #

getUniversalUri :: IOLA XmlTree String Source #

getLocalPart :: IOLA XmlTree String Source #

getNamePrefix :: IOLA XmlTree String Source #

getNamespaceUri :: IOLA XmlTree String Source #

getAttrValue :: String -> IOLA XmlTree String Source #

getAttrValue0 :: String -> IOLA XmlTree String Source #

getQAttrValue :: QName -> IOLA XmlTree String Source #

getQAttrValue0 :: QName -> IOLA XmlTree String Source #

changeText :: (String -> String) -> IOLA XmlTree XmlTree Source #

changeBlob :: (Blob -> Blob) -> IOLA XmlTree XmlTree Source #

changeCmt :: (String -> String) -> IOLA XmlTree XmlTree Source #

changeQName :: (QName -> QName) -> IOLA XmlTree XmlTree Source #

changeElemName :: (QName -> QName) -> IOLA XmlTree XmlTree Source #

changeAttrName :: (QName -> QName) -> IOLA XmlTree XmlTree Source #

changePiName :: (QName -> QName) -> IOLA XmlTree XmlTree Source #

changeAttrValue :: (String -> String) -> IOLA XmlTree XmlTree Source #

changeAttrl :: (XmlTrees -> XmlTrees -> XmlTrees) -> IOLA XmlTree XmlTree -> IOLA XmlTree XmlTree Source #

setQName :: QName -> IOLA XmlTree XmlTree Source #

setElemName :: QName -> IOLA XmlTree XmlTree Source #

setAttrName :: QName -> IOLA XmlTree XmlTree Source #

setPiName :: QName -> IOLA XmlTree XmlTree Source #

setAttrl :: IOLA XmlTree XmlTree -> IOLA XmlTree XmlTree Source #

addAttrl :: IOLA XmlTree XmlTree -> IOLA XmlTree XmlTree Source #

addAttr :: String -> String -> IOLA XmlTree XmlTree Source #

removeAttr :: String -> IOLA XmlTree XmlTree Source #

removeQAttr :: QName -> IOLA XmlTree XmlTree Source #

processAttrl :: IOLA XmlTree XmlTree -> IOLA XmlTree XmlTree Source #

processTopDownWithAttrl :: IOLA XmlTree XmlTree -> IOLA XmlTree XmlTree Source #

(+=) :: IOLA b XmlTree -> IOLA b XmlTree -> IOLA b XmlTree Source #

xshow :: IOLA n XmlTree -> IOLA n String Source #

xshowBlob :: IOLA n XmlTree -> IOLA n Blob Source #

ArrowXml (SLA s) Source # 

Methods

isText :: SLA s XmlTree XmlTree Source #

isBlob :: SLA s XmlTree XmlTree Source #

isCharRef :: SLA s XmlTree XmlTree Source #

isEntityRef :: SLA s XmlTree XmlTree Source #

isCmt :: SLA s XmlTree XmlTree Source #

isCdata :: SLA s XmlTree XmlTree Source #

isPi :: SLA s XmlTree XmlTree Source #

isXmlPi :: SLA s XmlTree XmlTree Source #

isElem :: SLA s XmlTree XmlTree Source #

isDTD :: SLA s XmlTree XmlTree Source #

isAttr :: SLA s XmlTree XmlTree Source #

isError :: SLA s XmlTree XmlTree Source #

isRoot :: SLA s XmlTree XmlTree Source #

hasText :: (String -> Bool) -> SLA s XmlTree XmlTree Source #

isWhiteSpace :: SLA s XmlTree XmlTree Source #

hasNameWith :: (QName -> Bool) -> SLA s XmlTree XmlTree Source #

hasQName :: QName -> SLA s XmlTree XmlTree Source #

hasName :: String -> SLA s XmlTree XmlTree Source #

hasLocalPart :: String -> SLA s XmlTree XmlTree Source #

hasNamePrefix :: String -> SLA s XmlTree XmlTree Source #

hasNamespaceUri :: String -> SLA s XmlTree XmlTree Source #

hasAttr :: String -> SLA s XmlTree XmlTree Source #

hasQAttr :: QName -> SLA s XmlTree XmlTree Source #

hasAttrValue :: String -> (String -> Bool) -> SLA s XmlTree XmlTree Source #

hasQAttrValue :: QName -> (String -> Bool) -> SLA s XmlTree XmlTree Source #

mkText :: SLA s String XmlTree Source #

mkBlob :: SLA s Blob XmlTree Source #

mkCharRef :: SLA s Int XmlTree Source #

mkEntityRef :: SLA s String XmlTree Source #

mkCmt :: SLA s String XmlTree Source #

mkCdata :: SLA s String XmlTree Source #

mkError :: Int -> SLA s String XmlTree Source #

mkElement :: QName -> SLA s n XmlTree -> SLA s n XmlTree -> SLA s n XmlTree Source #

mkAttr :: QName -> SLA s n XmlTree -> SLA s n XmlTree Source #

mkPi :: QName -> SLA s n XmlTree -> SLA s n XmlTree Source #

mkqelem :: QName -> [SLA s n XmlTree] -> [SLA s n XmlTree] -> SLA s n XmlTree Source #

mkelem :: String -> [SLA s n XmlTree] -> [SLA s n XmlTree] -> SLA s n XmlTree Source #

aelem :: String -> [SLA s n XmlTree] -> SLA s n XmlTree Source #

selem :: String -> [SLA s n XmlTree] -> SLA s n XmlTree Source #

eelem :: String -> SLA s n XmlTree Source #

root :: [SLA s n XmlTree] -> [SLA s n XmlTree] -> SLA s n XmlTree Source #

qattr :: QName -> SLA s n XmlTree -> SLA s n XmlTree Source #

attr :: String -> SLA s n XmlTree -> SLA s n XmlTree Source #

txt :: String -> SLA s n XmlTree Source #

blb :: Blob -> SLA s n XmlTree Source #

charRef :: Int -> SLA s n XmlTree Source #

entityRef :: String -> SLA s n XmlTree Source #

cmt :: String -> SLA s n XmlTree Source #

warn :: String -> SLA s n XmlTree Source #

err :: String -> SLA s n XmlTree Source #

fatal :: String -> SLA s n XmlTree Source #

spi :: String -> String -> SLA s n XmlTree Source #

sqattr :: QName -> String -> SLA s n XmlTree Source #

sattr :: String -> String -> SLA s n XmlTree Source #

getText :: SLA s XmlTree String Source #

getCharRef :: SLA s XmlTree Int Source #

getEntityRef :: SLA s XmlTree String Source #

getCmt :: SLA s XmlTree String Source #

getCdata :: SLA s XmlTree String Source #

getPiName :: SLA s XmlTree QName Source #

getPiContent :: SLA s XmlTree XmlTree Source #

getElemName :: SLA s XmlTree QName Source #

getAttrl :: SLA s XmlTree XmlTree Source #

getDTDPart :: SLA s XmlTree DTDElem Source #

getDTDAttrl :: SLA s XmlTree Attributes Source #

getAttrName :: SLA s XmlTree QName Source #

getErrorLevel :: SLA s XmlTree Int Source #

getErrorMsg :: SLA s XmlTree String Source #

getQName :: SLA s XmlTree QName Source #

getName :: SLA s XmlTree String Source #

getUniversalName :: SLA s XmlTree String Source #

getUniversalUri :: SLA s XmlTree String Source #

getLocalPart :: SLA s XmlTree String Source #

getNamePrefix :: SLA s XmlTree String Source #

getNamespaceUri :: SLA s XmlTree String Source #

getAttrValue :: String -> SLA s XmlTree String Source #

getAttrValue0 :: String -> SLA s XmlTree String Source #

getQAttrValue :: QName -> SLA s XmlTree String Source #

getQAttrValue0 :: QName -> SLA s XmlTree String Source #

changeText :: (String -> String) -> SLA s XmlTree XmlTree Source #

changeBlob :: (Blob -> Blob) -> SLA s XmlTree XmlTree Source #

changeCmt :: (String -> String) -> SLA s XmlTree XmlTree Source #

changeQName :: (QName -> QName) -> SLA s XmlTree XmlTree Source #

changeElemName :: (QName -> QName) -> SLA s XmlTree XmlTree Source #

changeAttrName :: (QName -> QName) -> SLA s XmlTree XmlTree Source #

changePiName :: (QName -> QName) -> SLA s XmlTree XmlTree Source #

changeAttrValue :: (String -> String) -> SLA s XmlTree XmlTree Source #

changeAttrl :: (XmlTrees -> XmlTrees -> XmlTrees) -> SLA s XmlTree XmlTree -> SLA s XmlTree XmlTree Source #

setQName :: QName -> SLA s XmlTree XmlTree Source #

setElemName :: QName -> SLA s XmlTree XmlTree Source #

setAttrName :: QName -> SLA s XmlTree XmlTree Source #

setPiName :: QName -> SLA s XmlTree XmlTree Source #

setAttrl :: SLA s XmlTree XmlTree -> SLA s XmlTree XmlTree Source #

addAttrl :: SLA s XmlTree XmlTree -> SLA s XmlTree XmlTree Source #

addAttr :: String -> String -> SLA s XmlTree XmlTree Source #

removeAttr :: String -> SLA s XmlTree XmlTree Source #

removeQAttr :: QName -> SLA s XmlTree XmlTree Source #

processAttrl :: SLA s XmlTree XmlTree -> SLA s XmlTree XmlTree Source #

processTopDownWithAttrl :: SLA s XmlTree XmlTree -> SLA s XmlTree XmlTree Source #

(+=) :: SLA s b XmlTree -> SLA s b XmlTree -> SLA s b XmlTree Source #

xshow :: SLA s n XmlTree -> SLA s n String Source #

xshowBlob :: SLA s n XmlTree -> SLA s n Blob Source #

ArrowXml (IOSLA s) Source # 

Methods

isText :: IOSLA s XmlTree XmlTree Source #

isBlob :: IOSLA s XmlTree XmlTree Source #

isCharRef :: IOSLA s XmlTree XmlTree Source #

isEntityRef :: IOSLA s XmlTree XmlTree Source #

isCmt :: IOSLA s XmlTree XmlTree Source #

isCdata :: IOSLA s XmlTree XmlTree Source #

isPi :: IOSLA s XmlTree XmlTree Source #

isXmlPi :: IOSLA s XmlTree XmlTree Source #

isElem :: IOSLA s XmlTree XmlTree Source #

isDTD :: IOSLA s XmlTree XmlTree Source #

isAttr :: IOSLA s XmlTree XmlTree Source #

isError :: IOSLA s XmlTree XmlTree Source #

isRoot :: IOSLA s XmlTree XmlTree Source #

hasText :: (String -> Bool) -> IOSLA s XmlTree XmlTree Source #

isWhiteSpace :: IOSLA s XmlTree XmlTree Source #

hasNameWith :: (QName -> Bool) -> IOSLA s XmlTree XmlTree Source #

hasQName :: QName -> IOSLA s XmlTree XmlTree Source #

hasName :: String -> IOSLA s XmlTree XmlTree Source #

hasLocalPart :: String -> IOSLA s XmlTree XmlTree Source #

hasNamePrefix :: String -> IOSLA s XmlTree XmlTree Source #

hasNamespaceUri :: String -> IOSLA s XmlTree XmlTree Source #

hasAttr :: String -> IOSLA s XmlTree XmlTree Source #

hasQAttr :: QName -> IOSLA s XmlTree XmlTree Source #

hasAttrValue :: String -> (String -> Bool) -> IOSLA s XmlTree XmlTree Source #

hasQAttrValue :: QName -> (String -> Bool) -> IOSLA s XmlTree XmlTree Source #

mkText :: IOSLA s String XmlTree Source #

mkBlob :: IOSLA s Blob XmlTree Source #

mkCharRef :: IOSLA s Int XmlTree Source #

mkEntityRef :: IOSLA s String XmlTree Source #

mkCmt :: IOSLA s String XmlTree Source #

mkCdata :: IOSLA s String XmlTree Source #

mkError :: Int -> IOSLA s String XmlTree Source #

mkElement :: QName -> IOSLA s n XmlTree -> IOSLA s n XmlTree -> IOSLA s n XmlTree Source #

mkAttr :: QName -> IOSLA s n XmlTree -> IOSLA s n XmlTree Source #

mkPi :: QName -> IOSLA s n XmlTree -> IOSLA s n XmlTree Source #

mkqelem :: QName -> [IOSLA s n XmlTree] -> [IOSLA s n XmlTree] -> IOSLA s n XmlTree Source #

mkelem :: String -> [IOSLA s n XmlTree] -> [IOSLA s n XmlTree] -> IOSLA s n XmlTree Source #

aelem :: String -> [IOSLA s n XmlTree] -> IOSLA s n XmlTree Source #

selem :: String -> [IOSLA s n XmlTree] -> IOSLA s n XmlTree Source #

eelem :: String -> IOSLA s n XmlTree Source #

root :: [IOSLA s n XmlTree] -> [IOSLA s n XmlTree] -> IOSLA s n XmlTree Source #

qattr :: QName -> IOSLA s n XmlTree -> IOSLA s n XmlTree Source #

attr :: String -> IOSLA s n XmlTree -> IOSLA s n XmlTree Source #

txt :: String -> IOSLA s n XmlTree Source #

blb :: Blob -> IOSLA s n XmlTree Source #

charRef :: Int -> IOSLA s n XmlTree Source #

entityRef :: String -> IOSLA s n XmlTree Source #

cmt :: String -> IOSLA s n XmlTree Source #

warn :: String -> IOSLA s n XmlTree Source #

err :: String -> IOSLA s n XmlTree Source #

fatal :: String -> IOSLA s n XmlTree Source #

spi :: String -> String -> IOSLA s n XmlTree Source #

sqattr :: QName -> String -> IOSLA s n XmlTree Source #

sattr :: String -> String -> IOSLA s n XmlTree Source #

getText :: IOSLA s XmlTree String Source #

getCharRef :: IOSLA s XmlTree Int Source #

getEntityRef :: IOSLA s XmlTree String Source #

getCmt :: IOSLA s XmlTree String Source #

getCdata :: IOSLA s XmlTree String Source #

getPiName :: IOSLA s XmlTree QName Source #

getPiContent :: IOSLA s XmlTree XmlTree Source #

getElemName :: IOSLA s XmlTree QName Source #

getAttrl :: IOSLA s XmlTree XmlTree Source #

getDTDPart :: IOSLA s XmlTree DTDElem Source #

getDTDAttrl :: IOSLA s XmlTree Attributes Source #

getAttrName :: IOSLA s XmlTree QName Source #

getErrorLevel :: IOSLA s XmlTree Int Source #

getErrorMsg :: IOSLA s XmlTree String Source #

getQName :: IOSLA s XmlTree QName Source #

getName :: IOSLA s XmlTree String Source #

getUniversalName :: IOSLA s XmlTree String Source #

getUniversalUri :: IOSLA s XmlTree String Source #

getLocalPart :: IOSLA s XmlTree String Source #

getNamePrefix :: IOSLA s XmlTree String Source #

getNamespaceUri :: IOSLA s XmlTree String Source #

getAttrValue :: String -> IOSLA s XmlTree String Source #

getAttrValue0 :: String -> IOSLA s XmlTree String Source #

getQAttrValue :: QName -> IOSLA s XmlTree String Source #

getQAttrValue0 :: QName -> IOSLA s XmlTree String Source #

changeText :: (String -> String) -> IOSLA s XmlTree XmlTree Source #

changeBlob :: (Blob -> Blob) -> IOSLA s XmlTree XmlTree Source #

changeCmt :: (String -> String) -> IOSLA s XmlTree XmlTree Source #

changeQName :: (QName -> QName) -> IOSLA s XmlTree XmlTree Source #

changeElemName :: (QName -> QName) -> IOSLA s XmlTree XmlTree Source #

changeAttrName :: (QName -> QName) -> IOSLA s XmlTree XmlTree Source #

changePiName :: (QName -> QName) -> IOSLA s XmlTree XmlTree Source #

changeAttrValue :: (String -> String) -> IOSLA s XmlTree XmlTree Source #

changeAttrl :: (XmlTrees -> XmlTrees -> XmlTrees) -> IOSLA s XmlTree XmlTree -> IOSLA s XmlTree XmlTree Source #

setQName :: QName -> IOSLA s XmlTree XmlTree Source #

setElemName :: QName -> IOSLA s XmlTree XmlTree Source #

setAttrName :: QName -> IOSLA s XmlTree XmlTree Source #

setPiName :: QName -> IOSLA s XmlTree XmlTree Source #

setAttrl :: IOSLA s XmlTree XmlTree -> IOSLA s XmlTree XmlTree Source #

addAttrl :: IOSLA s XmlTree XmlTree -> IOSLA s XmlTree XmlTree Source #

addAttr :: String -> String -> IOSLA s XmlTree XmlTree Source #

removeAttr :: String -> IOSLA s XmlTree XmlTree Source #

removeQAttr :: QName -> IOSLA s XmlTree XmlTree Source #

processAttrl :: IOSLA s XmlTree XmlTree -> IOSLA s XmlTree XmlTree Source #

processTopDownWithAttrl :: IOSLA s XmlTree XmlTree -> IOSLA s XmlTree XmlTree Source #

(+=) :: IOSLA s b XmlTree -> IOSLA s b XmlTree -> IOSLA s b XmlTree Source #

xshow :: IOSLA s n XmlTree -> IOSLA s n String Source #

xshowBlob :: IOSLA s n XmlTree -> IOSLA s n Blob Source #

class ArrowXml a => ArrowDTD a where Source #

Document Type Definition arrows

These are separated, because they are not needed for document processing, only when processing the DTD, e.g. for generating access funtions for the toolbox from a DTD (se example DTDtoHaskell in the examples directory)

Instances

ArrowDTD LA Source # 
ArrowDTD IOLA Source # 
ArrowDTD (SLA s) Source # 
ArrowDTD (IOSLA s) Source #