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 |
The Reference type
- newtype Literal = Literal {}
- 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 RefDate = RefDate {}
- handleLiteral :: RefDate -> [RefDate]
- toDatePart :: RefDate -> [Int]
- setCirca :: Bool -> RefDate -> RefDate
- mkRefDate :: Literal -> Parser [RefDate]
- data RefType
- = NoType
- | Article
- | ArticleMagazine
- | ArticleNewspaper
- | ArticleJournal
- | Bill
- | Book
- | Broadcast
- | Chapter
- | Dataset
- | 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 {
- refId :: Literal
- refType :: RefType
- author :: [Agent]
- editor :: [Agent]
- translator :: [Agent]
- recipient :: [Agent]
- interviewer :: [Agent]
- composer :: [Agent]
- director :: [Agent]
- illustrator :: [Agent]
- originalAuthor :: [Agent]
- containerAuthor :: [Agent]
- collectionEditor :: [Agent]
- editorialDirector :: [Agent]
- reviewedAuthor :: [Agent]
- issued :: [RefDate]
- eventDate :: [RefDate]
- accessed :: [RefDate]
- container :: [RefDate]
- originalDate :: [RefDate]
- submitted :: [RefDate]
- title :: Formatted
- titleShort :: Formatted
- reviewedTitle :: Formatted
- containerTitle :: Formatted
- volumeTitle :: Formatted
- collectionTitle :: Formatted
- containerTitleShort :: Formatted
- collectionNumber :: Formatted
- originalTitle :: Formatted
- publisher :: Formatted
- originalPublisher :: Formatted
- publisherPlace :: Formatted
- originalPublisherPlace :: Formatted
- authority :: Formatted
- jurisdiction :: Formatted
- archive :: Formatted
- archivePlace :: Formatted
- archiveLocation :: Formatted
- event :: Formatted
- eventPlace :: Formatted
- page :: Formatted
- pageFirst :: Formatted
- numberOfPages :: Formatted
- version :: Formatted
- volume :: Formatted
- numberOfVolumes :: Formatted
- issue :: Formatted
- chapterNumber :: Formatted
- medium :: Formatted
- status :: Formatted
- edition :: Formatted
- section :: Formatted
- source :: Formatted
- genre :: Formatted
- note :: Formatted
- annote :: Formatted
- abstract :: Formatted
- keyword :: Formatted
- number :: Formatted
- references :: Formatted
- url :: Literal
- doi :: Literal
- isbn :: Literal
- issn :: Literal
- pmcid :: Literal
- pmid :: Literal
- callNumber :: Literal
- dimensions :: Literal
- scale :: Literal
- categories :: [Literal]
- language :: Literal
- citationNumber :: CNum
- firstReferenceNoteNumber :: Int
- citationLabel :: Literal
- emptyReference :: Reference
- numericVars :: [String]
- getReference :: [Reference] -> Cite -> Maybe Reference
- processCites :: [Reference] -> [[Cite]] -> [[(Cite, Reference)]]
- setPageFirst :: Reference -> Reference
- setNearNote :: Style -> [[Cite]] -> [[Cite]]
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 -> ReferenceMap Source
formatField :: String -> String Source
isValueSet :: Value -> Bool Source
handleLiteral :: RefDate -> [RefDate] Source
toDatePart :: RefDate -> [Int] Source
The Reference
record.
numericVars :: [String] Source
setPageFirst :: Reference -> Reference Source
setNearNote :: Style -> [[Cite]] -> [[Cite]] Source