citeproc-hs-0.2: A Citation Style Language implementation in HaskellSource codeContentsIndex
Text.CSL.Reference
Portabilityunportable
Stabilityunstable
MaintainerAndrea Rossato <andrea.rossato@unitn.it>
Description
The Reference type
Synopsis
data Value = forall a . Data a => Value a
type ReferenceMap = [(String, Value)]
mkRefMap :: Data a => a -> ReferenceMap
formatField :: String -> String
fromValue :: Data a => Value -> Maybe a
isValueSet :: Value -> Bool
data Empty = Empty
data Agent
= Entity String
| Person {
namePrefix :: String
givenName :: [String]
initials :: String
articular :: String
familyName :: String
nameSuffix :: String
}
data RefDate = RefDate {
year :: Int
month :: Int
day :: Int
other :: String
}
data RefType
= NoType
| Article
| ArticleMagazine
| ArticleNewspaper
| ArticleJournal
| Bill
| Book
| Broadcast
| Chapter
| Entry
| EntryDictionary
| EntryEncyclopedia
| Figure
| Graphic
| Interview
| Legislation
| LegalCase
| Manuscript
| Map
| MotionPicture
| MusicalScore
| Pamphlet
| PaperConference
| Patent
| Post
| PostWeblog
| PersonalCommunication
| Report
| Review
| ReviewBook
| Song
| Speech
| Thesis
| Treaty
| Webpage
newtype CNum = CNum {
unCNum :: Int
}
data Reference = Reference {
citeKey :: String
refType :: RefType
author :: [Agent]
editor :: [Agent]
translator :: [Agent]
recipient :: [Agent]
interviewer :: [Agent]
publisher :: [Agent]
composer :: [Agent]
originalPublisher :: [Agent]
originalAuthor :: [Agent]
containerAuthor :: [Agent]
collectionEditor :: [Agent]
issued :: [RefDate]
eventDate :: [RefDate]
accessed :: [RefDate]
container :: [RefDate]
originalDate :: [RefDate]
title :: String
containerTitle :: String
collectionTitle :: String
collectionNumber :: Int
originalTitle :: String
publisherPlace :: String
archive :: String
archivePlace :: String
archiveLocation :: String
event :: String
eventPlace :: String
page :: String
locator :: Locator
version :: String
volume :: String
numberOfVolumes :: Int
issue :: String
chapterNumber :: String
medium :: String
status :: String
edition :: String
section :: String
genre :: String
note :: String
annote :: String
abstract :: String
keyword :: String
number :: String
references :: String
url :: String
doi :: String
isbn :: String
citationNumber :: CNum
yearSuffix :: String
citationLabel :: String
}
emptyReference :: Reference
getReference :: [Reference] -> (String, String) -> Reference
getReference' :: [Reference] -> ((String, String), (String, Int)) -> (String, Reference)
data Locator
= NoneLoc
| BookLoc String
| ChapterLoc String
| ColumnLoc String
| FigureLoc String
| FolioLoc String
| IssueLoc String
| LineLoc String
| NoteLoc String
| OpusLoc String
| PageLoc String
| PageFstLoc String
| ParaLoc String
| PartLoc String
| SecLoc String
| SubVerbLoc String
| VolLoc String
| VerseLoc String
locString :: Locator -> String
parseLocator :: String -> Locator
generatePosition :: [[(String, String)]] -> [[((String, String), (String, Int))]]
getPos :: Eq a => ([a], [a]) -> [[(a, String)]] -> [[((a, String), (String, Int))]]
Documentation
data Value Source
An existential type to wrap the different types a Reference is made of. This way we can create a map to make queries easier.
Constructors
forall a . Data a => Value a
show/hide Instances
type ReferenceMap = [(String, Value)]Source
mkRefMap :: Data a => a -> ReferenceMapSource
formatField :: String -> StringSource
fromValue :: Data a => Value -> Maybe aSource
isValueSet :: Value -> BoolSource
data Empty Source
Constructors
Empty
show/hide Instances
data Agent Source
Constructors
Entity String
Person
namePrefix :: String
givenName :: [String]
initials :: String
articular :: String
familyName :: String
nameSuffix :: String
show/hide Instances
data RefDate Source
Constructors
RefDate
year :: Int
month :: Int
day :: Int
other :: String
show/hide Instances
data RefType Source
Constructors
NoType
Article
ArticleMagazine
ArticleNewspaper
ArticleJournal
Bill
Book
Broadcast
Chapter
Entry
EntryDictionary
EntryEncyclopedia
Figure
Graphic
Interview
Legislation
LegalCase
Manuscript
Map
MotionPicture
MusicalScore
Pamphlet
PaperConference
Patent
Post
PostWeblog
PersonalCommunication
Report
Review
ReviewBook
Song
Speech
Thesis
Treaty
Webpage
show/hide Instances
newtype CNum Source
Constructors
CNum
unCNum :: Int
show/hide Instances
data Reference Source
The Reference record.
Constructors
Reference
citeKey :: String
refType :: RefType
author :: [Agent]
editor :: [Agent]
translator :: [Agent]
recipient :: [Agent]
interviewer :: [Agent]
publisher :: [Agent]
composer :: [Agent]
originalPublisher :: [Agent]
originalAuthor :: [Agent]
containerAuthor :: [Agent]
collectionEditor :: [Agent]
issued :: [RefDate]
eventDate :: [RefDate]
accessed :: [RefDate]
container :: [RefDate]
originalDate :: [RefDate]
title :: String
containerTitle :: String
collectionTitle :: String
collectionNumber :: Int
originalTitle :: String
publisherPlace :: String
archive :: String
archivePlace :: String
archiveLocation :: String
event :: String
eventPlace :: String
page :: String
locator :: Locator
version :: String
volume :: String
numberOfVolumes :: Int
issue :: String
chapterNumber :: String
medium :: String
status :: String
edition :: String
section :: String
genre :: String
note :: String
annote :: String
abstract :: String
keyword :: String
number :: String
references :: String
url :: String
doi :: String
isbn :: String
citationNumber :: CNum
yearSuffix :: String
citationLabel :: String
show/hide Instances
emptyReference :: ReferenceSource
getReference :: [Reference] -> (String, String) -> ReferenceSource
With the list of References and the tuple (citation key, locator), return the needed reference with the correct locator set.
getReference' :: [Reference] -> ((String, String), (String, Int)) -> (String, Reference)Source
With the Reference list and the generated position for each tuple of citation key and locator, produce a list of References with their positions (which come first.
data Locator Source
Constructors
NoneLoc
BookLoc String
ChapterLoc String
ColumnLoc String
FigureLoc String
FolioLoc String
IssueLoc String
LineLoc String
NoteLoc String
OpusLoc String
PageLoc String
PageFstLoc String
ParaLoc String
PartLoc String
SecLoc String
SubVerbLoc String
VolLoc String
VerseLoc String
show/hide Instances
locString :: Locator -> StringSource
parseLocator :: String -> LocatorSource
generatePosition :: [[(String, String)]] -> [[((String, String), (String, Int))]]Source
For each citation group generate the position and the citation number of each citation.
getPos :: Eq a => ([a], [a]) -> [[(a, String)]] -> [[((a, String), (String, Int))]]Source
Produced by Haddock version 2.4.2