@@ -20,6 +20,7 @@ module Text.XML.Lens (
2020 , localName
2121 , el
2222 , ell
23+ , named
2324 -- ** Attributes
2425 , attributeIs
2526 , attributeSatisfies
@@ -152,18 +153,20 @@ entire :: Traversal' Element Element
152153entire f e@(Element _ _ ns) = com <$> f e <*> traverse (_Element (entire f)) ns where
153154 com (Element n a _) = Element n a
154155
156+-- | Traverse elements which has the specified *local* name.
157+named :: Text -> Traversal' Element Element
158+named n f s
159+ | nameLocalName (elementName s) == n = f s
160+ | otherwise = pure s
161+
162+ell = named
163+
155164-- | Traverse elements which has the specified name.
156165el :: Name -> Traversal' Element Element
157166el n f s
158167 | elementName s == n = f s
159168 | otherwise = pure s
160169
161−-- | Traverse elements which has the specified *local* name.
162−ell :: Text -> Traversal' Element Element
163−ell n f s
164− | nameLocalName (elementName s) == n = f s
165− | otherwise = pure s
166−
167170attributeSatisfies :: Name -> (Text -> Bool) -> Traversal' Element Element
168171attributeSatisfies n p = filtered (maybe False p . preview (attrs . ix n))
169172