Portability | unportable |
---|---|
Stability | unstable |
Maintainer | Andrea Rossato <andrea.rossato@unitn.it> |
The Reference type
- 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 {}
- 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 {}
- 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
An existential type to wrap the different types a Reference
is
made of. This way we can create a map to make queries easier.
type ReferenceMap = [(String, Value)]Source
mkRefMap :: Data a => a -> ReferenceMapSource
formatField :: String -> StringSource
isValueSet :: Value -> BoolSource
Entity String | |
Person | |
|
The Reference
record.
getReference :: [Reference] -> (String, String) -> ReferenceSource
With the list of Reference
s and the tuple (citation key,
locator), return the needed reference with the correct locator set.
parseLocator :: String -> LocatorSource