citeproc-hs-0.3.9: A Citation Style Language implementation in Haskell

Copyright | (c) Andrea Rossato
License | BSD-style (see LICENSE)
Maintainer | Andrea Rossato <andrea.rossato@unitn.it>
Stability | unstable
Portability | unportable
Safe Haskell | None
Language | Haskell98

Text.CSL.Input.MODS

Description

An ugly MODS parser

Synopsis

- readModsFile :: FilePath -> IO Reference
- readModsCollectionFile :: FilePath -> IO [Reference]
- xpModsCollection :: PU [Reference]
- xpMods :: PU Reference
- xpReference :: PU Reference
- xpCiteKey :: PU String
- xpOrigin :: PU ([RefDate], [RefDate], [Agent], String, String)
- xpRefType :: PU (RefType, String)
- xpGenre :: PU [String]
- xpRelatedItem :: String -> PU Reference
- xpNestedTitles :: PU ((String, String), (String, String))
- xpTitle :: PU (String, String)
- xpAgents :: PU (([Agent], [Agent], [Agent], [Agent]), ([Agent], [Agent], [Agent], [Agent]), ([Agent], [Agent], [Agent], [Agent]))
- xpAgent :: String -> String -> PU [Agent]
- parseName :: [String] -> String -> Agent
- xpNameData :: PU ([String], String)
- xpPart :: PU (([RefDate], String, String, String), (String, String, String, String))
- data Detail
  - = Date [RefDate]
  - | Page String
  - | Volume String
  - | Issue String
  - | Number String
  - | ChapterNr String
  - | Section String
  - | NrVols String
- xpDetail :: PU Detail
- xpPage :: PU String
- xpVolumes :: PU String
- xpUrl :: PU ([RefDate], String)
- xpIsbn :: PU String
- xpDoi :: PU String
- xpIdentifier :: String -> PU String
- xpNote :: PU String
- xpLang :: PU String
- xpStatus :: PU String
- readDate :: String -> [RefDate]
- parseDate :: String -> [RefDate]
- emptyAgents :: [Agent]
- fromAgent :: [Agent] -> String
- readRefType :: [String] -> (RefType, String)
- genreTypeMapping :: Map String RefType

# Documentation

readModsFile :: FilePath -> IO Reference

Read a file with a single MODS record.

readModsCollectionFile :: FilePath -> IO [Reference]

Read a file with a collection of MODS records.

xpModsCollection :: PU [Reference]

xpMods :: PU Reference

xpReference :: PU Reference

xpCiteKey :: PU String

xpOrigin :: PU ([RefDate], [RefDate], [Agent], String, String)

xpRefType :: PU (RefType, String)

xpGenre :: PU [String]

xpRelatedItem :: String -> PU Reference

xpNestedTitles :: PU ((String, String), (String, String))

xpTitle :: PU (String, String)

xpAgents :: PU (([Agent], [Agent], [Agent], [Agent]), ([Agent], [Agent], [Agent], [Agent]), ([Agent], [Agent], [Agent], [Agent]))

xpAgent :: String -> String -> PU [Agent]

parseName :: [String] -> String -> Agent

"von Hicks,! Jr., Michael" or "la Martine,! III, Martin B. de" or "Rossato, Jr., Andrea G. B." or "Paul, III, Juan".

xpNameData :: PU ([String], String)

xpPart :: PU (([RefDate], String, String, String), (String, String, String, String))

data Detail

Constructors

Date [RefDate] |
Page String |
Volume String |
Issue String |
Number String |
ChapterNr String |
Section String |
NrVols String |

Instances

Eq Detail |
Show Detail |

xpDetail :: PU Detail

xpPage :: PU String

xpVolumes :: PU String

xpUrl :: PU ([RefDate], String)

xpIsbn :: PU String

xpDoi :: PU String

xpIdentifier :: String -> PU String

xpNote :: PU String

xpLang :: PU String

xpStatus :: PU String

readDate :: String -> [RefDate]

parseDate :: String -> [RefDate]

Possible formats: YYYY, YYYY-MM, YYYY-MM-DD.

emptyAgents :: [Agent]

fromAgent :: [Agent] -> String

readRefType :: [String] -> (RefType, String)

genreTypeMapping :: Map String RefType