Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data Document = Document {}
- root :: Lens' Document Element
- prologue :: Lens' Document Prologue
- epilogue :: Lens' Document [Miscellaneous]
- data Node
- _Element :: Prism' Node Element
- _Content :: Prism' Node Text
- class CanbeInstruction t where
- class CanbeComment t where
- data Element = Element {
- elementName :: Name
- elementAttributes :: Map Name Text
- elementNodes :: [Node]
- attrs :: Lens' Element (Map Name Text)
- nodes :: Lens' Element [Node]
- name :: Lens' Element Name
- el :: Name -> AffineTraversal' Element Element
- named :: Text -> AffineTraversal' Element Element
- attr :: Name -> AffineTraversal' Element Text
- attributeSatisfies :: Name -> (Maybe Text -> Bool) -> AffineTraversal' Element Element
- withoutAttribute :: Name -> AffineTraversal' Element Element
- attributeIs :: Name -> Text -> AffineTraversal' Element Element
- lower :: IxTraversal' Int Element Node
- plate :: IxTraversal' Int Element Element
- text :: IxTraversal' Int Element Text
- comment :: IxTraversal' Int Element Text
- (./) :: (JoinKinds k1 l m, JoinKinds k2 A_Traversal k1, AppendIndices is1 js ks, AppendIndices is2 (WithIx Int) is1) => Optic k2 is2 s t Element Element -> Optic l js Element Element a b -> Optic m ks s t a b
- (.//) :: (AppendIndices is js ks, JoinKinds k1 l m, JoinKinds k2 A_Traversal k1) => Optic k2 is s t Element Element -> Optic l js Element Element a b -> Optic m ks s t a b
- data Name = Name {}
- localName :: Lens' Name Text
- namespace :: Lens' Name (Maybe Text)
- prefix :: Lens' Name (Maybe Text)
Document
Instances
Eq Document | |
Data Document | |
Defined in Text.XML gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Document -> c Document # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Document # toConstr :: Document -> Constr # dataTypeOf :: Document -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Document) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Document) # gmapT :: (forall b. Data b => b -> b) -> Document -> Document # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Document -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Document -> r # gmapQ :: (forall d. Data d => d -> u) -> Document -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Document -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Document -> m Document # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Document -> m Document # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Document -> m Document # | |
Show Document | |
ToMarkup Document | |
NFData Document | |
Lenses
Node
Instances
Eq Node | |
Data Node | |
Defined in Text.XML gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Node -> c Node # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Node # dataTypeOf :: Node -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Node) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Node) # gmapT :: (forall b. Data b => b -> b) -> Node -> Node # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Node -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Node -> r # gmapQ :: (forall d. Data d => d -> u) -> Node -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Node -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Node -> m Node # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Node -> m Node # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Node -> m Node # | |
Ord Node | |
Show Node | |
ToMarkup Node | |
NFData Node | |
CanbeComment Node Source # | |
CanbeInstruction Node Source # | |
Defined in Text.XML.Optics |
Prisms
class CanbeInstruction t where Source #
_Instruction :: Prism' t Instruction Source #
Instances
CanbeInstruction Node Source # | |
Defined in Text.XML.Optics | |
CanbeInstruction Miscellaneous Source # | |
Defined in Text.XML.Optics |
class CanbeComment t where Source #
Instances
CanbeComment Node Source # | |
CanbeComment Miscellaneous Source # | |
Defined in Text.XML.Optics |
Element
Element | |
|
Instances
Eq Element | |
Data Element | |
Defined in Text.XML gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Element -> c Element # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Element # toConstr :: Element -> Constr # dataTypeOf :: Element -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Element) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Element) # gmapT :: (forall b. Data b => b -> b) -> Element -> Element # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Element -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Element -> r # gmapQ :: (forall d. Data d => d -> u) -> Element -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Element -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Element -> m Element # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Element -> m Element # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Element -> m Element # | |
Ord Element | |
Show Element | |
ToMarkup Element | Note that the special element name
|
NFData Element | |
Lenses
Traversals
Filtering elements
attributeSatisfies :: Name -> (Maybe Text -> Bool) -> AffineTraversal' Element Element Source #
attributeIs :: Name -> Text -> AffineTraversal' Element Element Source #
Traversing subnodes
plate :: IxTraversal' Int Element Element Source #
lower
then select all the NodeElement
s
text :: IxTraversal' Int Element Text Source #
lower
then select all the NodeContent
s
comment :: IxTraversal' Int Element Text Source #
lower
then select all the NodeComment
s
Composing traversals
(./) :: (JoinKinds k1 l m, JoinKinds k2 A_Traversal k1, AppendIndices is1 js ks, AppendIndices is2 (WithIx Int) is1) => Optic k2 is2 s t Element Element -> Optic l js Element Element a b -> Optic m ks s t a b infixr 9 Source #
(.//) :: (AppendIndices is js ks, JoinKinds k1 l m, JoinKinds k2 A_Traversal k1) => Optic k2 is s t Element Element -> Optic l js Element Element a b -> Optic m ks s t a b infixr 9 Source #
Name
A fully qualified name.
Prefixes are not semantically important; they are included only to
simplify pass-through parsing. When comparing names with Eq
or Ord
methods, prefixes are ignored.
The IsString
instance supports Clark notation; see
http://www.jclark.com/xml/xmlns.htm and
http://infohost.nmt.edu/tcc/help/pubs/pylxml/etree-QName.html. Use
the OverloadedStrings
language extension for very simple Name
construction:
myname :: Name myname = "{http://example.com/ns/my-namespace}my-name"
Name | |
|
Instances
Eq Name | |
Data Name | |
Defined in Data.XML.Types gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Name -> c Name # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Name # dataTypeOf :: Name -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Name) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Name) # gmapT :: (forall b. Data b => b -> b) -> Name -> Name # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Name -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Name -> r # gmapQ :: (forall d. Data d => d -> u) -> Name -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Name -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Name -> m Name # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Name -> m Name # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Name -> m Name # | |
Ord Name | |
Show Name | |
IsString Name | |
Defined in Data.XML.Types fromString :: String -> Name # | |
Generic Name | |
NFData Name | |
Defined in Data.XML.Types | |
type Rep Name | |
Defined in Data.XML.Types type Rep Name = D1 ('MetaData "Name" "Data.XML.Types" "xml-types-0.3.8-1FskkqwabAiJVamcx9xCWD" 'False) (C1 ('MetaCons "Name" 'PrefixI 'True) (S1 ('MetaSel ('Just "nameLocalName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: (S1 ('MetaSel ('Just "nameNamespace") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "namePrefix") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text))))) |